WO2012026997A1 - Product recall platform apparatuses, methods and systems - Google Patents

Product recall platform apparatuses, methods and systems Download PDF

Info

Publication number
WO2012026997A1
WO2012026997A1 PCT/US2011/035268 US2011035268W WO2012026997A1 WO 2012026997 A1 WO2012026997 A1 WO 2012026997A1 US 2011035268 W US2011035268 W US 2011035268W WO 2012026997 A1 WO2012026997 A1 WO 2012026997A1
Authority
WO
WIPO (PCT)
Prior art keywords
product
recall
platform
purchase
user
Prior art date
Application number
PCT/US2011/035268
Other languages
French (fr)
Inventor
Edward W. Fordyce Iii
Nurtekin Savas
Original Assignee
Visa International Service Association
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/770,607 external-priority patent/US20100280963A1/en
Application filed by Visa International Service Association filed Critical Visa International Service Association
Publication of WO2012026997A1 publication Critical patent/WO2012026997A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/014Providing recall services for goods or products

Definitions

  • the present innovations are directed generally to consumer product recalls and more particularly, to PRODUCT RECALL PLATFORM APPARATUSES, METHODS AND SYSTEMS.
  • FIGURE 1 shows a diagram illustrating an example consumer product recall in some embodiments of the PR Platform
  • FIGURE 2 shows a block diagram illustrating recall notification procedures in some embodiments of the PR Platform; [o o o 8]
  • FIGURE 3 shows a diagram illustrating types of products recalled in some embodiments of the PR Platform; [ 0009 ]
  • FIGURE 4 shows a data flow diagram illustrating example recall in some embodiments of the PR Platform; [ 0010 ]
  • FIGURE 5 shows a data flow diagram illustrating example recall party enrollment in some embodiments of the PR Platform; [ 0011 ]
  • FIGURE 6 shows a data flow diagram illustrating example Transaction ID (TID) based recall notification component in some embodiments of the PR Platform; [ 00 12 ]
  • FIGURE 7 shows a logic flow diagram illustrating example transaction ID (TID) based recall notification component (TRN) in some embodiments of the PR Platform; [ 0013 ]
  • FIGURE 8 shows a data flow diagram illustrating example Product ID- based recall notification in some embodiments of the PR Platform; [ 0014]
  • FIGURE 9 shows a logic flow diagram illustrating
  • Embodiments of the PR Platform provide cost effective and targeted notifications to consumers who have purchased a product that has been recalled by a manufacturer of the product.
  • one or more of the following participants including manufacturers, suppliers of products manufactured by others, merchants, acquirers or acquiring bank, issuers or issuing bank and account holders may be registered in the PR Platform.
  • Each participating merchant may send, for delivery to the PR Platform, transaction data sufficient to identify each account holder making a purchase from the merchant as well as their purchased items.
  • Each such purchased item may be part of a transaction conducted on an account issued to the account holder by an issuer, where the transaction was conducted by the merchant with the account holder.
  • Payment to the merchant for the transaction may be authorized by the issuer to the merchant's acquirer, and may be cleared and settled through a payment processing system.
  • the PR Platform may match the recalled product against transaction data accumulated from participating merchant's transactions in order to locate those participating account holders who had purchased the recalled product. For each such match, contact information about the matching participating account holders may be used to send a notice. This notice may identify the recalled product and may contain a product recall message from the supplier to the account holders who had purchased the recalled product.
  • the notice may also contain a request from the supplier to the account holders to return the product for a refund, for instance, by providing a phone number or e-mail address for account holders to contact the supplier or its agent.
  • the notice may also provide an Internet address, which may be hosted by the PR Platform, at which the account holders may give and receive information about the recalled product. Such data, as was given to and received from account holders, may then be passed on to the supplier, or its agent, by the PR Platform.
  • the PR Platform need not make contact with a participating merchant every time a recall happens, and the merchant's acquirer need not be required to gather and match data against account holders who purchased a recalled product from the merchant.
  • the merchant may send, for delivery to the PR Platform, transaction data information for items purchased in transactions by account holders, regardless of whether each such item has been recalled.
  • the PR Platform stores such transaction data along with data sufficient to identify, and derive contact information for, each account holder that is privy to each such transaction.
  • Participating merchants acquire data at the time of each transaction with each account holder. The acquired data may be sufficient to identify both the account holder and each item purchased in the transaction.
  • Such data may include, for the account holder, an account identifier issued by an issuer to the account holder, a transaction identification number (TID) for the transaction, the date and time of the transaction, a Point of Service terminal (POS) identifier, etc.
  • TID transaction identification number
  • POS Point of Service terminal
  • Such data may include, for the item being purchased in the transaction, 'level three' data, product level data, or other data such as a Stock Keeping Unit (SKU), a Universal Product Code (UPC), a supplier's serial number, a supplier's batch and lot identifier, date and location of manufacture, etc.
  • SKU Stock Keeping Unit
  • UPC Universal Product Code
  • supplier's serial number a supplier's serial number
  • supplier's batch and lot identifier date and location of manufacture
  • the PR Platform may provide an incentive for account holders to be loyal to those merchants who receive and send such product level data as it enables account holders to enrich their participation in the PR Platform. Similarly, suppliers may be more favorably disposed to such merchants, or their acquirers, because of their capabilities as PR Platform participants.
  • the PR Platform can be so notified of such an event by its account holder, by its issuer, or by a credit rating service (i.e., Experian, TransUnion, Equifax, etc.) that keeps credit histories based on social security numbers or other globally unique identifiers for consumers. Also, the PR Platform may detect inactivity in the account for a predetermined time threshold. In such cases, the PR Platform may attempt to contact the participating account holder to continue the recall service, and retain the accumulated data about products purchased by the account holder, despite the closing or lack of future usefulness of the account holder's account.
  • a credit rating service i.e., Experian, TransUnion, Equifax, etc.
  • the PR Platform may detect inactivity in the account for a predetermined time threshold. In such cases, the PR Platform may attempt to contact the participating account holder to continue the recall service, and retain the accumulated data about products purchased by the account holder, despite the closing or lack of future usefulness of the account holder's account.
  • an account holder can self register with the PR Platform for some or all of the accounts that they hold such that the respective issuers of these accounts need not register the account holder with the PR Platform. Moreover, the account holder can continually update the PR Platform with purchases of products made at non-participating merchants, as well as continually updating their contact information along with chronologically opened and closed account information. These updates enable the PR Platform to retain product purchase information about the participating account holder which can be used to timely notice of product recalls to participating account holder. Self registration by an account holder, and ongoing maintenance of account holder information, can be accomplished, for instance, by an online registration service, such as at a website hosted by the PR Platform or its agent.
  • self registration allows an account holder to be free of its issuers and still be notified of about its purchased products that have been recalled, even if the account holder no longer has a banking relationship with an issuer who issued an account to the account holder upon which a recalled product was purchased. Accordingly, and for example, such an account holder may receive a product recall notice many years after the recalled product was purchased by the account holder, even though the account used by the account holder to purchase the product was closed many year ago.
  • data acquired and maintained by the PR Platform may be mined for other purposes beneficial to registered participants with the PR Platform. For instance, a participating supplier may want to send a notice of all participating account holders residing in a particular geographic area who have purchased its participating products, such as to announce a special event at on a particular date and time in that geographic area.
  • the PR Platform may facilitate demographic, location and temporal data acquisition and analysis. For example, one or more analyses of the acquired data from manufacturers, issuers, merchants, acquirers and/or account holders may be utilized for targeting consumers, and product batch tracking.
  • the PR Platform may recognize consumers who make numerous purchases of the same item, and may identify such consumers as secondary retailers. The PR Platform may then prompt such secondary retailers to utilize the facilities of the PR Platform for their customers to facilitate recall tracking and notification.
  • the PR Platform may facilitate coordination and analysis of multiple data sets. For example, a user may register a product with a manufacturer for rebate, warranty, promotion or other purposes.
  • the PR Platform may carry out reconciliation of data sets from the manufacturer, user or other parties to ensure that the user does not get duplicate or multiple recall notifications. As such, the PR Platform may perform various functions and serve in various capacities.
  • a web-based registration system could be used for suppliers to provide the information on the recalled products (e.g., SKU/UPC code, etc.) and the recall notification message contents.
  • Other entities may also use this web-based system to register their participation in the PR Platform, as well as for other services such as receiving reports made available via this interface (e.g., related billing and operational information pertaining to PR Platform participants).
  • Issuers may register their account holders and acquirers may register their merchants for participation in a PR Platform via a network interface.
  • Participating merchants may send product level data for some or all items for some or all transactions to the PR Platform via a network interface. For example, product level data may be sent from the participating merchant to its acquirer for forwarding to transaction handler and from the transaction to the PR Platform, where the transaction may be authorized, cleared, and settled in a payment processing system.
  • Participating suppliers may submit product identifiers of recalled products along with verbiage to be provided to account holders or consumers ('return -to' or 'contact-us' information) via the PR Platform. To do so, a supplier may submit an identifier for each product, such as an SKU/UPC, serial number, etc. Alternatively, each such identifier may be submitted either before or after the corresponding product is recalled. The supplier may also provide verbiage to be provided to account holders (i.e.; return-to, contact-us information, etc.)
  • the PR Platform may work in conjunction with the transaction handler to match the product identifier for a recalled product against the product level data accumulated from transactions between merchants and account holders. With the finding of the recalled product matches in the transaction data, the PR Platform, working in conjunction with the transaction handler, may derive and use other information from the matching transaction data. For instance, by mining the matching transaction data, the PR Platform may assign Globally Unique Identifiers (GUIDs) that characterize and specify the product recall. For instance, the particular product(s) that were purchased by a particular account holder may each be assigned a recalled product GUID. The particular transaction in which the particular product(s) were purchased by the particular account holder may be assigned a transaction GUID.
  • GUIDs Globally Unique Identifiers
  • the particular merchant that sold the particular product(s) to that particular account holder can be assigned a merchant GUID.
  • the particular location at which the particular merchant sold the particular product(s) to the particular account holder may be assigned a merchant location GUID.
  • Each such GUID can be communicated to the particular account holder and/or the supplier. Upon receipt, the GUIDs may be used by a supplier of a recalled product to take measures to limit personal injury and property damage.
  • a notice may sent to each issuer having one or more accounts upon which there had been a transaction conducted for the purchase of a product with a matching product identifier of a recalled product.
  • the notice sent to the issuer may contain recall notification verbiage provided by the supplier for delivery to the issuer's account holders who conducted the corresponding transactions for the purchase of a recalled product, and may also include the recalled product GUID.
  • the recall notification verbiage is sent from the issuers to their respective account holders who conducted the corresponding transactions for the purchase of a recalled product, and may also include a respect recalled product GUID.
  • the recall notification verbiage can be sent to each account holder via statement message, e-mail, direct mail, text or web message, or other method.
  • the transaction handler, the PR Platform, or their agent may collect a fee from the supplier for product recall message delivery services and may distribute all or respective portions thereof to each participating entity that assisted in the product recall message delivery service.
  • the fee can be a product recall service fee that is collected from a supplier of a product that has been recalled product. A portion of each such product recall service fee may be paid to each issuer who had issued an account that was used by an account holder to purchase the corresponding recalled product.
  • the issuer may send a recall notice to each such account holder, where the fee received by the issuer may be deemed to be compensation for such product recall notifications to its account holders.
  • Each account holder may access a PR Platform network interface to send data to and receive data from the supplier and/or the PR Platform which may pertain to a previously purchased recalled product.
  • the account holder may use a web-enabled device to access the PR Platform network interface via the Internet, such as via a user interface having an interactive display screen. Such access by the account holder may require the input of the recalled product GUID as received in the product recall notice.
  • the PR Platform may facilitate registration from (i) suppliers; (ii) from account holders; and (ii) from merchants and/or from acquirers for their participating merchants.
  • Registered merchants may send data from transactions with account holder, where each transaction is authorized, cleared, and settled in a payment processing system.
  • the data from these transactions may be sufficient to identify: account holders to the PR Platform, with an option to send these data to the PR Platform via the merchant's acquirer and the transaction handler, or with an option where the merchant may send these data directly to the PR Platform.
  • the registered merchants may send transaction data that identifies purchased items for, an option where all items in all transactions, an option where some items of the items in all transactions, or an option wherein some of the items in some of the transactions.
  • only some items may be 'participating' items in a product recall service, where participating item are so qualified, for instance, by: product level data received by the merchant at the merchant's POS such that these data may be sent to the PR Platform, by a participating entity (i.e.; a supplier, an account holder, a merchant, an issuer) who requested that transactions for the purchase of certain items be tracked by the PR Platform, a governmental agency required that transactions for the purchase of certain items be tracked by the PR Platform, and/or the like.
  • Participating suppliers may submit product identifiers of recalled products along with verbiage to be provided to account holders consumers ('return -to' or 'contact-us' information) to a network interface for the PR Platform.
  • a supplier may submit an identifier for each product, such as an SKU, UPC, serial number, etc. Alternatively, each such identifier may be submitted either before or after the corresponding product is recalled.
  • the supplier may also provide verbiage to be provided to account holders (i.e.; return-to, contact-us information, etc.)
  • the PR Platform may work in conjunction with the transaction handler to match the product identifier for a recalled product against the product level data accumulated from transaction between merchants and account holders. With the finding of the recalled product matches in the transaction data, the PR Platform, working in conjunction with the transaction handler, may derive and use other information from the matching transaction data. For instance, by mining the matching transaction data, the PR Platform may assign Globally Unique Identifiers (GUIDs) that characterize and specify the product recall. For instance, the particular product(s) that were purchased by a particular account holder may each be assigned a recalled product GUID. The particular transaction in which the particular product(s) were purchased by the particular account holder may be assigned a transaction GUID.
  • GUIDs Globally Unique Identifiers
  • the particular merchant that sold the particular product(s) to that particular account holder may be assigned a merchant GUID.
  • the particular location at which the particular merchant sold the particular product(s) to the particular account holder may be assigned a merchant location GUID.
  • Each such GUID can be communicated to the particular account holder and/or the supplier.
  • a notice may be sent to each matching participating account holder from the PR Platform who has conducted a transaction on an account for the purchase of a product with a matching product identifier of a recalled product.
  • the notice sent to the account holder may contain recall notification verbiage provided by the supplier for delivery to the account holder who conducted the corresponding transaction for the purchase of a recalled product, and may also include a respect recalled product GUID.
  • the recall notification verbiage may be sent to each account holder via statement message, e-mail, direct mail, web message or other method.
  • the recall notification verbiage may be received by the respective account holders who conducted the corresponding transactions for the purchase of a recalled product.
  • the recall notification verbiage may also include an identifier that uniquely identifies the account holder to whom the recall notification verbiage was sent, also known as the account holder's Globally Unique Identifier (GUID).
  • GUID Globally Unique Identifier
  • the account holder's GUID may be supplied to the PR Platform so that the PR Platform can associate the account holder with a product that had been recalled.
  • the PR Platform may also send the account holder's GUID to the supplier of the recalled product. As such, the supplier may be able to associate the account holder, via the account holder's GUID, with the supplier's product that had been recalled and was purchased by the account holder.
  • Each account holder may access a PR Platform network interface to send data to and receive data from the supplier and/or the PR Platform which may pertain to a previously purchased recalled product.
  • the account holder may use a web-enabled device to access the PR Platform network interface via the Internet, such as via a user interface having an interactive display screen.
  • Such access by the account holder may require the input of the recalled product GUID as received in the recall notice.
  • the transaction handler, the PR Platform, or their agent may collect a fee from the supplier for product recall message delivery services and distributes all or respective portions thereof to each participating entity that assisted in the product recall message delivery service.
  • An exemplary interactive user interface display screen may be accessible for an account holder to access the PR Platform network interface via the Internet.
  • the PR Platform working in conjunction with the transaction handler, may derive and use other information from the matching transaction data. For instance, by mining the matching transaction data, the PR Platform may assign Globally Unique Identifiers (GUIDs) that characterize and specify the product recall. These data may then be communicated with the account holder, the supplier, etc. For instance, the particular product(s) that were purchased by a particular account holder can each be assigned a recalled product GUID for rendering on the display screen.
  • GUIDs Globally Unique Identifiers
  • the particular transaction in which the particular product(s) were purchased by the particular account holder can be assigned a transaction GUID for rendering on the display screen.
  • the particular merchant that sold the particular product(s) to that particular account holder can be assigned a merchant GUID for rendering on the display screen.
  • the particular location at which the particular merchant sold the particular product(s) to the particular account holder can be assigned a merchant location GUID for rendering on the display screen.
  • the account holder may input a personal injury report and/or a property damage report on the display screen. With receipt of input from the account holder on the display screen, the PR Platform may assign a recalled product incident GUID that is communicated for future reference to the supplier.
  • the account holder's GUID may be auto-populated or can be supplied as input the account holder.
  • Recalled product supplier verbiage and an image of the recalled product, as may be suggested by the supplier of the recalled product, may be rendered on the display screen.
  • a user of a web-enable device that renders the display screen may scroll the rendered imaged horizontally by using virtual navigation tool and vertically by using virtual navigation tool as in common in interactive applications.
  • Payment processing system has a plurality of accounts each of which is held by a corresponding account holder.
  • a transaction may include participation from different entities that are each a component of the payment processing system.
  • the payment processing system may have a plurality of merchants.
  • Payment processing system may include account user.
  • Each account user may conduct a transaction with merchant for goods and/or services using the account that has been issued by an issuer to a corresponding account holder.
  • Data from the transaction on the account may be collected by the merchant and forwarded to a corresponding acquirer.
  • Acquirer may forwards the data to transaction handler who may facilitate payment for the transaction from the account issued by the issuer to account holder.
  • Payment processing system may include a plurality or transaction handlers (not shown) for respective acquirers and issuers, each participating in one or more product recall services or the same product recall service. [0051]
  • Payment processing system may have a plurality of issuers. Each issuer may be assisted in processing one or more transactions by a corresponding agent issuer.
  • Payment processing system may have a plurality of acquirers. Each acquirer may be assisted in processing one or more transactions by a corresponding agent acquirer.
  • the transaction handler may process a plurality of transactions within the payment processing system.
  • the transaction handler may include one or a plurality or networks and switches (e.g., a mainframe computer).
  • Dedicated communication systems may facilitate communication between the transaction handler and each issuer and each acquirer.
  • the Network via e-mail, the World Wide Web, cellular telephony, and/or other optionally public and private communications systems, can facilitate communications among and between each issuer, each acquirer, each merchant, each account holder, and the transaction handler.
  • Merchant may be a person or entity that sells goods and/or services.
  • Merchant may also be, for instance, a supplier, a distributor, a retailer, a load agent, a drugstore, a grocery store, a gas station, a hardware store, a supermarket, a boutique, a restaurant, a doctor's office, and/or the like.
  • the merchant may conduct business online (e.g., AMAZON, E-BAY, etc.), may be a store front business (e.g., MACYS, WHOLE FOODS, etc.) or both.
  • the account holder may be a second merchant making a purchase from another merchant.
  • Point-of-interaction terminal e.g., Point of Service, browser enabled consumer cellular telephone, tablets, computers, mobile devices, and/or the like
  • the point-of- interaction terminal may be in operative communication with the payment processing system.
  • the portable consumer device may be in a form factor that may be a payment card, a gift card, a smartcard, a smart media, a payroll card, a healthcare card, a wrist band, a machine readable medium containing account information, a keychain device, such as a SPEEDPASS® device commercially available from ExxonMobil Corporation, a supermarket discount card, a cellular telephone, personal digital assistant, a pager, a security card, an access card, a wireless terminal, or a transponder.
  • the portable consumer device may include a volatile or non-volatile memory to store information such as the account number or an account holder's name.
  • Merchant may use the point-of-interaction terminal to obtain account information, such as a number of the account of the account holder, from the portable consumer device.
  • the portable consumer device may interface with the point-of- interaction terminal using a mechanism including any suitable electrical, magnetic, or optical interfacing system such as a contactless system using radio frequency or magnetic field recognition system or contact system such as a magnetic stripe reader.
  • the point-of-interaction terminal sends a transaction authorization request to the issuer of the account associated with the portable consumer device.
  • the portable consumer device may communicate with issuer, transaction handler, or acquirer.
  • Issuer may authorize the transaction and forward same to the transaction handler.
  • Transaction handler may also clear the transaction.
  • Authorization may include issuer, or transaction handler on behalf of issuer, authorizing the transaction in connection with issuer's instructions such as through the use of business rules.
  • the business rules may include instructions or guidelines from the transaction handler, the account holder, the merchant, the acquirer, the issuer, a related financial institution, or combinations thereof.
  • the transaction handler may maintain a log or history of authorized transactions. Once approved, the merchant may record the authorization, allowing the account user to receive the good or service from merchant or an agent thereof. [0057]
  • the merchant may, at discrete periods, such as the end of the day, submit a list of authorized transactions to the acquirer or other transaction related data for processing through the payment processing system.
  • the transaction handler may compare the submitted authorized transaction list with its own log of authorized transactions.
  • the transaction handler may route authorization transaction amount requests from the corresponding the acquirer to the corresponding issuer involved in each transaction. Once the acquirer receives the payment of the authorized transaction from the issuer, the acquirer may forward the payment to the merchant less any transaction costs, such as fees for the processing of the transaction. If the transaction involves a debit or pre-paid card, the acquirer may choose not to wait for the issuer to forward the payment prior to paying merchant.
  • the acquirer may initiate the clearing and settling process, which can result in payment to the acquirer for the amount of the transaction.
  • the acquirer may request from the transaction handler that the transaction be cleared and settled.
  • Clearing may include the exchange of financial information between the issuer and the acquirer and settlement includes the exchange of funds.
  • the transaction handler may provide services in connection with settlement of the transaction.
  • the settlement of a transaction includes depositing an amount of the transaction settlement from a settlement house, such as a settlement bank, which transaction handler typically chooses, into a clearinghouse, such as a clearing bank, that acquirer typically chooses.
  • the issuer may deposit the same from a clearinghouse, such as a clearing bank, which the issuer typically chooses, into the settlement house.
  • a typical transaction may involve various entities to request, authorize, and fulfill processing of the transaction.
  • the payment processing system may have network components suitable for scaling the number and data payload size of transactions that may be authorized, cleared and settled in both real time and batch processing. These include hardware, software, data elements, and storage network devices for the same. Examples of payment processing system include those operated, at least in part, by: American Express Travel Related Services Company, Inc; MasterCard International, Inc.; Discover Financial Services, Inc.; First Data Corporation; Diners Club International, LTD; Visa Inc.; and agents of the foregoing.
  • the payment processing system may include data centers for processing transactions, where each transaction may include up to 100 kilobytes of data or more.
  • the data corresponding to the transaction may include information about the types and quantities of goods and services in the transaction, information about the account holder, the account user, the merchant, tax and incentive treatment(s) of the goods and services, coupons, rebates, rewards, loyalty, discounts, returns, exchanges, cash-back transactions, etc.
  • Transaction handler may store information about transactions processed through payment processing system in data warehouses such as may be incorporated as part of the plurality of networks/ switches. This information may be data mined.
  • the data mining transaction research and modeling can be used for advertising, account holder and merchant loyalty incentives and rewards, fraud detection and prediction, and to develop tools to demonstrate savings and efficiencies made possible by use of the payment processing system over paying and being paid by cash, or other traditional payment mechanisms.
  • the PR Platform via the network, may facilitate real time alerts that may be generated from POS transactional data and prior registrations of account holders with the PR Platform. These 'e-alerts' may provide both consumer safety and limitations on products liability of manufacturers, and suppliers such as distributors and wholesalers, and retailers by providing real time warnings.
  • Each such warning may include information about defective and dangerous products that have been purchased by a consumer, and the warning or e-alert may be electronically delivered to a logical address of the consumer or the issuer of an account of the consumer, such as via a cellular telephone or a mobile web enable computing device.
  • PR Platform may include information about defective and dangerous products that have been purchased by a consumer, and the warning or e-alert may be electronically delivered to a logical address of the consumer or the issuer of an account of the consumer, such as via a cellular telephone or a mobile web enable computing device.
  • FIGURE 1 shows a diagram illustrating an example consumer product recall in some embodiments of the PR Platform.
  • a user 110 may purchase a product 120 from a store 125.
  • the user may make a payment 115 using a payment device such as a debit card, a credit card, a check, mobile phone, cash, and/or the like.
  • the store 125 may be an online store accessible over a communication network 130, or may be a physical retailer.
  • the purchased item 120 may then be delivered to the user 110 or the user 110 may pick it up from the retail store.
  • the manufacturer of the product 120 may discover a fault with the product, and may issue a consumer recall, requesting consumers who purchased the product to return it to the manufacturer.
  • the PR 1 Platform may in such situations facilitate an expedient, timely and targeted recall of the
  • FIGURES 2(a) and 2(b) show block diagrams illustrating recall issuance
  • the manufacturer 210a may at 220a identify one or more safety issues
  • 11 States may involve organizations or entities other than the CPSC. For example, recalls in
  • the CPSC may undertake an evaluation of the product's level of risk and
  • the CPSC may notify the
  • 17 may then implement a recall from consumers 205a at 235a based on the CPSC's
  • 20 210b may identify one or more safety issues with a product sold at 225b, and instead of
  • the manufacturer may implement a voluntary recall at
  • This fast track process may
  • FIGURE 3 shows a diagram illustrating types of products recalled in some embodiments of the PR Platform.
  • Example consumer products recalled fall into categories such as children's items, computer and electronics, sports, outdoors, and recreation, vehicles, tractors and motorsports, hardware, tools and building supply, home and garden, other items such as books, clothing, etc., and/or the like.
  • FIGURE 4 shows a data flow diagram illustrating an example recall in some embodiments of the PR Platform.
  • a merchant 415 may conduct a sale transaction at the POS terminal 425 by scanning or entering at 445 product barcodes 430.
  • a sale transaction may be made online. The merchant may then send all or a portion of the transaction information to the PR Platform at 450.
  • the transaction information may include product information (e.g., identifiers such as Product ID, Stock Keeping Unit (SKU) code, Universal Product Code (UPC) code, Price Look Up (PLU) code, a supplier's serial number, a supplier's batch/lot identifier, date and location of manufacture, model number and/or the like), billing address, shipping address, payment information, transaction ID (TID) associated with the payment transaction, and/or the like.
  • product information e.g., identifiers such as Product ID, Stock Keeping Unit (SKU) code, Universal Product Code (UPC) code, Price Look Up (PLU) code, a supplier's serial number, a supplier's batch/lot identifier, date and location of manufacture, model number and/or the like
  • billing address e.g., shipping address
  • payment information e.g., payment information associated with the payment transaction
  • TID transaction ID
  • an accountholder or buyer 405 may purchase a product, and may capture the product information 430 by a scan or
  • the manufacturer 410 who wishes to recall one or more products may send recall notice 455 to the PR Platform.
  • the recall notice may include information such as, but not limited to: product ID, SKU code, UPC code, serial number, batch/lot identifier, date and location of manufacture, model number, and/or the like.
  • the recall notice may also include a recall message to the consumer. Such recall message may inform the consumer about reasons for recall, where to find more information about the recall, contact information, procedure for returning the recalled items, and/or the like.
  • the PR Platform may then forward notification information 460 to the issuer 420, 1 which may send recall message 465 to account holder.
  • the notification information may
  • the recall notification may include product information, recall message
  • FIGURE 5 shows a data flow diagram illustrating example recall party
  • implementing a product recall may involve parties including a merchant
  • the9 may register to access the facilities provided by the PR Platform 501 via web-based0 registration 535 over a communication network 545.
  • the1 registration may involve providing identifying information, agreeing to the terms and2 conditions, paying a nominal fee, and/or the like.
  • consumers or account holders 505 may also4 register to participate in the recall facilities provided by the PR Platform.
  • Consumers5 may utilize web-based registration 540 using a client device 530 to provide identifying6 information, notification preferences, user name, password, accept terms and7 conditions, pay a nominal fee, and/or the like.
  • Consumers may also download and8 install an application module, which upon the first instance of execution, may request9 identifying information, user name, password, preferences, and/or the like.
  • FIGURE 6 shows a data flow diagram illustrating example Transaction ID (TID) based recall notification component in some embodiments of the PR Platform.
  • a manufacturer or supplier 610 initiates a recall by sending a recall initiation request 630 to the PR Platform 601.
  • the recall initiation request may be in the form of a Secure Hypertext Transfer Protocol ("HTTP(S)") POST message including manufacturer identifying information and recall information in the form of data formatted according to extensible Markup Language (“XML").
  • HTTP(S) POST message including an XML-formatted recall initiation request may take the following form: POST /signup. php HTTP/1.1
  • ⁇ hazard> a wiring problem can cause the stereo receiver to overheat or break during normal use, damaging the stereo receiver and posing fire hazards ⁇ /hazard>
  • the XML-formatted recall initiation request from a merchant may include manufacturer and/or supplier information, manufacturer and/or supplier login credentials, product details including SKU/UPC code, model, product name, etc., contact details including manufacturer and/or supplier name, contact phone number, website, contact days/hours, etc., recall details including hazards, incidents, locations where products were sold, time during which products were sold, notification details including template in which recall information will be sent to consumers, type of confirmation requested from consumers, etc., as well as any other information pertinent to the recall of the product.
  • the recall initiation request 630 may be received by the PR Platform.
  • the PR Platform 601 may create entries in one or more databases and/or tables using all or a portion of information extracted from the recall initiation request.
  • VALUES time ( ) , $product_SKU, $hazard, $incidents, $description, $sold_location, $sold_dates, $remedy) ; // add data to table in database
  • the PR Platform may extract recalled product information from the received recall initiation request and may package the extracted information into a HTTP(S) POST message 635.
  • the HTTP(S) POST message including XML-formatted recalled product information may be sent to the acquirer 625.
  • the acquirer may further forward the received recalled product information 640 to a merchant 615.
  • the merchant upon receiving the recalled product information 640 may determine at 645 if any of the recalled products have been sold to consumers. If the recalled products have been sold to consumers, the merchant may look up transaction ID (TID) associated with the recalled product sale at 650.
  • TID transaction ID
  • a TID or a token is assigned to each transaction during authorization.
  • TID may be produced by hashing cardholder data (e.g., PAN) with a transaction-unique value as well encryption via one or more encryption algorithms. TID may also be produced by any other methods as long as the resulting token is a unique value and the original account holder data (e.g., PAN) cannot be reproduced.
  • the identified TID associated with the recalled product sale may be packaged into an HTTP(S) POST message and may be sent to the acquirer 625 at 655.
  • An exemplary TID message may have the following XML formatting: POST /signup. php HTTP/1.1
  • the acquirer 625 may forward the TID message from the merchant 615 to the PR Platform 601 at 660.
  • the PR Platform 601 may receive the TID message from the acquirer 625 and utilize the TID information to determine account number (s) associated with the TID for notification at 665.
  • the PR Platform 601 may also determine or look up from one or more databases and/or tables any other information related to the consumer associated with the TID. Examples of consumer information may include payment device identifier (e.g., bank card number, credit or debit card number, prepaid card number, bank account number, etc.), buyer ID, mobile device ID, name, address, shipping address, email address, and/or the like.
  • payment device identifier e.g., bank card number, credit or debit card number, prepaid card number, bank account number, etc.
  • the PR Platform 601 may then package the identified account numbers and/or other consumer information associated with the TID of recalled product purchases, along with the recall information received from the manufacturer 610 in a notification message 670 for delivery to the issuer 620.
  • the issuer 620 may be identified using the consumer information.
  • HTTP(S) POST message including an XML-formatted notification message 670 may take the following form: ⁇ notification_info>
  • ⁇ hazard> a wiring problem can cause the stereo receiver to overheat or break during normal use, damaging the stereo receiver and posing fire hazards ⁇ /hazard>
  • the issuer 620 may extract one or more pieces of account holder information (e.g., account number, account holder ID, email address, etc.) to look up one or more account holder preferences at 675.
  • account holder preferences include preferred notification method (e.g., email, telephone call, SMS/MMS, mail, push notification, etc.), reminder settings, and/or the like.
  • the issuer 620 may utilize the account holder preferences to format and send a recall message to associated account holders 6osa-c at 680.
  • FIGURE 7 shows a logic flow diagram illustrating example transaction ID (TID) based recall notification component (TRN) in some embodiments of the PR Platform.
  • TRN transaction ID
  • a manufacturer 710 who is registered to use the facilities of the PR Platform, may log in to an account in the PR Platform website or may access an application installed on a client device.
  • the manufacturer 710 may upload recall product 1 information (e.g., SKU/UPC code, product ID, etc.), recall message (e.g., instructions for
  • the submitted information is received at the PR Platform 701 at 736.
  • the PR Platform 701 may extract the recall product information (e.g., SKU/UPC,
  • the 7 may send the extracted information to one or more acquirers 725 at 738.
  • the acquirers 725 may send the extracted information to one or more acquirers 725 at 738.
  • 8 725 may forward the received recalled product information to one or more merchants
  • Each merchant 715 may receive the recalled product information at 742 and0 may extract UPC or SKU code for the recalled product.
  • the merchant 715 at 744 may1 query one or more product, inventory or transaction databases and/or tables using the2 SKU/UPC code as a key to determine if the products that have been sold match the3 products being recalled. If at least one match is found at 746, the merchant 715 may look4 up TID corresponding to the transaction involving the recalled product at 748.
  • The5 merchant 715 may look up TID information from one or more tables and/or databases.6
  • the identified TID may then be sent to the acquirer 725 at 750.
  • the merchant8 may generate a null TID (e.g., a TID having a predetermined value corresponding to "no9 match"). Such a null TID may be sent to the acquirer 725 at 756. The acquirer 725 may0 in turn forward the received TID to the PR Platform 701 at 752. 1 [0080]
  • the PR Platform 701 may receive the TID from the acquirer at 754. The PR2 Platform 701 may then determine if the TID received is a null TID at 758. If the TID3 received is a null TID, the PR Platform 701 may not proceed further. However, if the TID 1 received is not a null TID, the PR Platform 701 may query one or more databases and/or
  • 4 numbers may be determined from the query at 760. In some alternate embodiments, an
  • 5 issuer and/or merchant's database may be the source of the search for matches. If the
  • associated issuers 720 may be identified at 762. If there are no matches
  • the process may conclude with an error or no match result 763.
  • the PR Platform 701 may send a recall message including consumer 0 information such as account number to the issuer 720 at 764.
  • the issuer 720 may 1 received the recall message and account number at 766 and retrieve consumer contact 2 information associated with the account number and preferences at 768.
  • the issuer 720 3 may then re-package the recall message according to the consumer preference and 4 forward the recall message using the consumer's preferred notification method (e.g., 5 email recall message, telephonic recall message, recall push notification, SMS/MMS, 6 and/or the like).
  • the account holder 705 may receive the recall message at 772,7 concluding the notification process at 774.
  • FIGURE 8 shows a data flow diagram illustrating example Product ID-
  • a manufacturer or supplier 810 initiates a recall by sending a recall initiation request
  • the recall initiation request may be substantially similar in
  • initiation request 830 may be received by the PR Platform and may be parsed to extract
  • a merchant 815 may send product information for all
  • the product information may include SKU
  • 11 transactions may be sent to the PR Platform 801 in real time, or in batches post
  • This implementation may not need to rely on merchant retention of
  • the PR Platform 801 may compare the product information for all
  • the PR Platform may then query payment processor 802 databases and/or tables
  • 19 products 836 may be packaged into an HTTP(S) POST message and sent to an issuer
  • the issuer 820 may identify
  • the notification may send recall notification to account holders.
  • the notification may be sent to account holders.
  • FIGURE 9 shows a logic flow diagram illustrating example Product ID- based recall notification component (PRN) in some embodiments of the PR Platform.
  • PRN Product ID- based recall notification component
  • a manufacturer 910 who is registered to use the facilities of the PR Platform, may log in to an account in the PR Platform website or may access an application installed on a client device.
  • the manufacturer 910 may upload recall product information (e.g., product SKU, product UPC, product ID, etc.), recall message (e.g., instructions for return, refund or replacement, hazards, safety issues, etc.), and any other information pertinent to the recall to the PR Platform at 932.
  • recall product information e.g., product SKU, product UPC, product ID, etc.
  • recall message e.g., instructions for return, refund or replacement, hazards, safety issues, etc.
  • the submitted information is received at the PR Platform 901 at 936.
  • the PR Platform 901 may extract the recall product information such as the SKU code by parsing the information received from the manufacturer 910.
  • a merchant 915 who is registered to use the facilities of the PR Platform, may log in to an account in the PR Platform website or may access an application installed on a client device.
  • the merchant 915 may upload product codes such as SKU code, UPC code, product ID, and/or the like for all transactions at 940.
  • the merchant platform may be configured to automatically transfer SKU codes of sold products to the PR Platform.
  • the merchant may transfer the SKU codes in a batch mode or in real time.
  • the PR Platform 901 may receive the transacted product SKU/UPC codes at 942 and the recalled product SKU/UPC codes at 936. At 944, the PR Platform 901 may query one or more tables and/or databases to determine if the recalled SKU/UPC product codes match the transacted SKU/UPC product codes. If there is no match at 1 945, the PR Platform 901 may conclude the process. However, if there is a match at 945,
  • the PR Platform 901 may query one or more tables and/or databases to identify a
  • the PR Platform 901 may create and send
  • the issuer 920 may receive the payment device ID and recall message
  • the issuer 920 may then look up an accountholder
  • the issuer 920 may
  • GIFs may include of a small GIF or PNG image may be embedded in the content of an
  • the account holder may be requested to
  • SMS/MMS reply email or a read receipt, a delivery confirmation receipt, and/or the
  • the formatted recall notification message may be sent to the account holder at
  • the account holder 905 may receive the message at 960 and may request
  • the issuer 920 may update a tracking database at 966 to indicate that the account holder and/or a device associated therewith has received the recall notification and has visited an information page (e.g., the manufacturer website where information about the recall is provided, FACEBOOK, TWITTER or other social networks, individual or company's TWITTER feed, and/or the like), which may conclude the notification process.
  • an information page e.g., the manufacturer website where information about the recall is provided, FACEBOOK, TWITTER or other social networks, individual or company's TWITTER feed, and/or the like
  • the issuer 920 may send a reminder recall notification message to the account holder 905. [ 0 089 ]
  • the cost and implications of a recall to a manufacturer may be substantial.
  • FIGURE 10 shows a data flow diagram illustrating example revenue share in some embodiments of the PR Platform.
  • a manufacturer 1010 may pay the PR Platform 1001 a fee of, for example, $i/recalled unit at 1030.
  • the PR Platform 1001 may share a portion 1035 (e.g., $ 0.35/recalled unit) of the revenue from the manufacturer 1010 with an acquirer 1025, who in turn shares a portion 1040 (e.g., $0.i5/recalled unit) it received with merchant 1015.
  • the PR Platform 1001 may also share a portion of the revenue 1045 (e.g., $o.3o/recalled unit) with the issuer 1020.
  • a merchant and an issuer may be involved, without an acquirer.
  • the PR Platform 1001 may share a revenue portion 1050 with the merchant 1015 and a revenue portion 1052 with the issuer 1020.
  • the percent distribution of the revenue between the involved parties may be variable and may be determined based on prior agreements between the parties.
  • a single issuer, acquirer and merchant case is illustrated in FIGURE 10, multiple issuers, acquirers and merchants may be involved.
  • revenues may be distributed according to percent distribution by party type. For example, if 20 acquirers are involved and the acquirer revenue portion is 35%, each acquirer may receive 1.75%.
  • FIGURE 11 shows a logic flow diagram illustrating example user-initiated recall notification component (URN) in some embodiments of the PR Platform.
  • URN user-initiated recall notification component
  • the user may utilize a product recall application ("PR app").
  • the PR app may be downloadable to a client device such as a computer, smart phone, portable devices, tablet, and/or the like.
  • a user 1105 may instantiate the PR app installed in a client device (e.g., by clicking or tapping on the PR app icon).
  • the user 1105 may scan a purchase (e.g., scan a receipt, product barcode, a web form, and/or the like).
  • the PR app may be a web page, where the user would register and create a user account. The user may fill out a web form, type a product code such as SKU/UPC code, enter or select product name, upload a receipt, and/or the like.
  • the user 1105 may submit the purchase processing request.
  • the submitted purchase processing request may be sent to the PR Platform 1101 as an HTTP(S) POST message formatted in XML.
  • the purchase processing request including purchase information may be received by the PR Platform 1101 at 1136.
  • An example XML formatted purchase processing request message may take the following form: ⁇ processing_request>
  • the PR Platform may extract at least the product information and a user identifier at 1138.
  • the PR Platform may query a user table and/or database using the user identifier to find a record corresponding to the user.
  • the user record may be updated to include the extracted product information at 1140.
  • the product information may also be utilized to query a recall table and/or database at 1142. If a pending recall 1 for the purchased product is found at 1144, the PR Platform 1101 may retrieve recall
  • the PR Platform 1101 may then
  • the PR Platform 1101 may generate a notification message
  • notification message from 1146 or 1148 may be sent to the user 1105 at 1150.
  • the user 1105 may be sent to the user 1105 at 1150.
  • the notification message from 1146 or 1148 may be sent to the user 1105 at 1150.
  • FIGURES 12(a), (b), (c) and (d) show example application user interfaces
  • the PR app may be utilized to capture product information such as product
  • PR app may process 1205 the captured barcode information to convert into product
  • the product information 1230 identifies products by name, model
  • 19 product ID may also be displayed. The user may have the option to select "Recall
  • FIGURE 12(c) the user may have the option to select or unselect items for recall tracking by checking or unchecking each item.
  • FIGURE 12(b) shows that all three items have been checked as indicated by 1235 for product tracking.
  • the user may add or update "preferences" 1240.
  • the user may also tap on the "back” button to go back to the scan screen of 12(a) to scan more items.
  • the user may also tap on "cancel" 1234 to cancel the session.
  • users may also capture an image of a purchase receipt, upload an e-receipt, search for items by name, model number, SKU/UPC code, and/or the like.
  • a user may desire to scan a purchase receipt from a merchant (e.g., WALMART).
  • the purchase receipt may include, for example, a vacuum cleaner, a baby formula, a carton of eggs, spinach and milk.
  • a vacuum cleaner is a long term purchase, usually having a warranty of at least a year, while a baby formula may have a shelf life of, e.g., two years before it expires.
  • Groceries such as eggs, spinach and milk are perishable items that have a very short shelf life of less than a month. As such, not all of the products purchased may need to stored and checked for recall.
  • the PR Platform may apply a pre-selection algorithm that applies one or more pre-selection rules to classify products according to one or more attributes (e.g., product type, shelf life, warranty, etc.) and pre-select items which should be monitored for recall.
  • the pre-selection algorithm may also determine the length of time during which items may be monitored for recall. For example, when grocery items are extracted from the purchase receipt, the pre-selection algorithm may designate the grocery items for short term recall monitoring (e.g., up to six months). After the completion of the term assigned, the PR Platform may stop monitoring for recall for the grocery items purchased.
  • FIGURE 12(c) shows the "preferences" option that may be available to users.
  • the user may set notification methods 1260 for communicating any recall notification.
  • a user may have the option of turning on or off email, phone, SMS, MMS, mail and push notification.
  • email and push notification have been turned on by the user.
  • the user may save any changes using the "save” button 1265, or may cancel any changes using the "cancel" button 1250.
  • FIGURES 13(a), (b) and (c) show example application user interfaces in some embodiments of the PR Platform.
  • the user interfaces illustrate example features of a one-tap mobile app in some embodiments of the PR Platform.
  • the app may be configured to recognize product identifiers (e.g., barcodes, QR codes, etc.).
  • product identifiers e.g., barcodes, QR codes, etc.
  • the user may be required to sign in to the app to enable its features. Once enabled, the camera may provide in-person one tap purchasing features for the user.
  • the client device may have a camera via which the app may acquire images, video data, streaming live video, and/or the like, e.g., 303.
  • the app may be configured to analyze the incoming data, and search, e.g., 1 301, for a product identifier, e.g., 304.
  • the app may overlay
  • the app may include
  • the app may provide the user with the
  • the user may desire to cancel product purchasing; the app may2 provide the user with a user interface element (e.g., 308) to cancel the product identifier3 recognition procedure and return to the prior interface screen the user was utilizing.
  • the user may be provided with information about products, user5 settings, merchants, offers, etc. in list form (see, e.g., 309) so that the user may better6 understand the user's purchasing options.
  • Various other features may be provided for7 in the app (see, e.g., 310).
  • the app executing on the client device of the9 user may include an app interface providing various features for the user.
  • the app may include an indication of the location (e.g., name of the1 merchant store, geographical location, information about the aisle within the merchant2 store, etc.) of the user, e.g., 311.
  • the app may provide an indication of a pay amount due3 for the purchase of the product, e.g., 312.
  • the app may provide various options for the user to pay the amount for purchasing the product(s).
  • the app may utilize the GPS coordinates to determine the merchant store within the user is present, and direct the user to a website of the merchant.
  • the PR Platform may provide an API for participating merchants directly to facilitate transaction processing.
  • a merchant- branded PR Platform application is developed with the PR Platform functionality, which may directly connect the user into the merchant's transaction processing system.
  • the user may choose from a number of payment devices (e.g., credit cards, debit cards, prepaid cards, etc.) from various payment device providers, e.g., 313.
  • the app may provide the user the option to pay the purchase amount using funds included in a bank account of the user, e.g., a checking, savings, money market, current account, etc., e.g., 314.
  • the user may have set default options for which card, bank account, etc.
  • such setting of default options may allow the user to initiate the purchase transaction via a single click, tap, swipe, and/or other remedial user input action, e.g., 315.
  • the app may utilize the default settings of the user to initiate the purchase transaction.
  • the app may allow the user to utilize other accounts (e.g., GoogleTM Checkout, PaypalTM account, etc.) to pay for the purchase transaction, e.g., 316.
  • the app may allow the user to utilize rewards points, airline miles, hotel points, electronic coupons, printed coupons (e.g., by capturing the printed coupons similar to the product identifier) etc., to pay for the purchase transaction, e.g., 317-318.
  • the app may provide an option to provide express authorization before initiating the purchase transaction, e.g., 1 319.
  • the app may provide progress indicator provide
  • the app may
  • the app may provide the user with an option to
  • FIGURES 14(a) and 14(b) show an example purchase registration recall5 notification user interfaces in some embodiments of the PR Platform.
  • product recall tracking and notification facilities provided by the PR7 Platform may be integrated with online checkout processes.
  • Such an integration may8 accomplish enrollment and product submission in a single action (e.g., a single click, or9 tap), simplifying the recall tracking and notification process for the user, merchant,0 acquirers, issuers and/or PR Platform. 1
  • a user may visit an online merchant (e.g.,2 buybirdbuy.com), where the user has placed a product 1320 with a model number 14253 and SKU code 1430 in the cart 1405.
  • the user has selected shipping option, has entered 1 quantity and the total price of $39.00 is shown.
  • the user has provided billing
  • the user may have the option of checking box 1435 to register purchase for recall
  • contact information may be delivered to the PR Platform (e.g., as an HTTP(S) POST0 message formatted in XML), without requiring the user to enter information separately1 or provide additional information.
  • the PR Platform may monitor recalls and notify the2 user immediately if an item purchased by the user is recalled.
  • 3 [ 00 102 ] As shown in FIGURE 14(b), an alternate implementation is shown wherein4 a user has placed an order and a purchase summary 1460 is displayed.
  • the purchase5 summary page may display information such as billing address 1475, shipping address,6 Amounts charged 1480 as well as product information 1470.
  • a link or a button 1465 may be placed on the purchase8 summary page.
  • the PR Platform may include facilities to capture the purchased item as a gift 1 item (e.g., by the user identifying the purchase as a gift, using a shipping address
  • the PR Platform 3 requesting the user to confirm that the purchase is a gift item, etc.).
  • 4 may capture the shipping information or the user provided gift recipient's information
  • FIGURES 15(a), (b) and (c) show data flow diagrams illustrating an
  • 9 user e.g., 1501
  • the user may communicate with a merchant server, e.g.,
  • a client such as, but not limited to: a personal computer, mobile device,
  • the user may provide user input, e.g., purchase input 1511, into the client indicating the purchase input 1511.
  • the user input may
  • 16 enabled hardware device e.g., electronic card having multiple accounts, smartphone,
  • the 20 may direct a browser application executing on the client device to a website of the
  • the client may obtain track 1 data from the user's card (e.g., credit card, debit card, prepaid card, charge card, etc.), such as the example track ⁇ data provided below: %B123456789012345 A PUBLIC/ J. Q. ⁇ 99011200000000000000** 901 ******?*
  • the user's card e.g., credit card, debit card, prepaid card, charge card, etc.
  • track ⁇ data provided below: %B123456789012345 A PUBLIC/ J. Q. ⁇ 99011200000000000000** 901 ******?*
  • the client may generate a purchase order message, e.g., 1512, and provide, e.g., 1513, the generated purchase order message to the merchant server.
  • a browser application executing on the client may provide, on behalf of the user, a (Secure) Hypertext Transfer Protocol ("HTTP(S)") GET message including the product order details for the merchant server in the form of data formatted according to the extensible Markup Language (“XML").
  • HTTP(S) GET message including an XML-formatted purchase order message for the merchant server: GET /purchase .php HTTP/1.1
  • the merchant server may obtain the purchase order message from the client, and may parse the purchase order message to extract details of the purchase order from the user.
  • the merchant server may generate a card query request, e.g., 1514 to determine whether the transaction can be processed. For example, the merchant server may attempt to determine whether the user has sufficient funds to pay for the purchase in a card account provided with the purchase order.
  • the merchant server may provide the generated card query request, e.g., 1515, to an acquirer server, e.g., 1504.
  • the acquirer server may be a server of an acquirer financial institution ("acquirer") maintaining an account of the merchant.
  • the proceeds of transactions processed by the merchant may be deposited into an account maintained by the acquirer.
  • the card query request may include details such as, but not limited to: the costs to the user involved in the transaction, card account details of the user, user billing and/or shipping information, and/or the like.
  • the merchant server may provide a HTTP(S) POST message including an XML-formatted card query request similar to the example listing provided below: POST /cardquery.php HTTP/ 1.1
  • the acquirer server may generate a card authorization request, e.g., 1516, using the obtained card query request, and provide the card authorization request, e.g., 1517, to a pay network server, e.g., 1505.
  • the acquirer server may redirect the HTTP(S) POST message in the example above from the merchant server to the pay network server.
  • the pay network server may obtain the card authorization request from the acquirer server, and may parse the card authorization request to extract details of the request.
  • the pay network server may generate a query, e.g., 1518, for an issuer server corresponding to the user's card account.
  • an issuer server corresponding to the user's card account.
  • the user's card account the details of which the user may have provided via the client-generated purchase order message, may be linked to an issuer financial institution ("issuer"), such as a banking institution, which issued the card account for the user.
  • issuer issuer financial institution
  • An issuer server, e.g., 1506, of the issuer may maintain details of the user's card account.
  • a database e.g., pay network database 1507, may store details of the issuer servers and card account numbers associated with the issuer servers.
  • the database may be a relational database responsive to Structured Query Language ("SQL”) commands.
  • the pay network server may execute a hypertext preprocessor ("PHP") script including SQL commands to query the database for details of the issuer server.
  • PHP/SQL command listing illustrating substantive aspects of querying the database, is provided below: ⁇ ?PHP
  • $query "SELECT issuer_name issuer_address issuer_id ip_address mac_address auth_key port_num security_settings_list FROM IssuerTable WHERE account_num
  • $result mysql_query ( $query) ; // perform the search query
  • the pay network database may provide, e.g., 1520, the requested issuer server data to the pay network server.
  • the pay network server may utilize the issuer server data to generate a forwarding card authorization request, e.g., 1521, to redirect the card authorization request from the acquirer server to the issuer server.
  • the pay 1 network server may provide the card authorization request, e.g., 1522, to the issuer
  • the issuer server e.g., 1506, may parse the card
  • 3 authorization request and based on the request details may query a database, e.g., user
  • the issuer on obtaining the user data, e.g., 1525, the issuer
  • 19 server may determine whether the user can pay for the transaction using funds available
  • the issuer server may determine whether the
  • the server may provide an
  • authorization message e.g., 1527
  • the server For example, the server
  • 25 may provide a HTTP(S) POST message similar to the examples above.
  • the pay network server may obtain the
  • 29 server may generate a transaction data record, e.g., 1529, from the card authorization
  • the pay network server may issue PHP/SQL commands similar to the example listing below to store the transaction data in a database:
  • account_params_list account_name, account_type, account_num, billing_addres, zipcode, phone, sign, merchant_params_list, merchant_id, merchant_name,
  • VALUES time(), $purchase_summary_list, $num_products , $product_summary,
  • the pay network server may forward the authorization message, e.g., 1531, to the acquirer server, which may in turn forward the authorization message, e.g., 1532, to the merchant server.
  • the merchant may obtain the authorization message, and determine from it that the user possesses sufficient funds in the card account to conduct the transaction.
  • the merchant server may add a record of the transaction for the user to a batch of transaction data relating to authorized transactions.
  • the merchant may append the XML data pertaining to the user transaction to an XML data file comprising XML data for transactions that have been authorized for various users, e.g., 1533, and store the XML data file, e.g., 1534, in a database, e.g., merchant database 1509.
  • the server may also generate a purchase receipt, e.g., 1533, and provide the purchase receipt to the client.
  • the client may render and display, e.g., 1536, the purchase receipt for the user.
  • the client may render a webpage, electronic message, text / SMS message, buffer a voicemail, emit a ring tone, and/or play an audio message, etc., and provide output including, but not limited to: sounds, music, audio, video, images, tactile feedback, vibration alerts (e.g., on vibration- capable client devices such as a smartphone etc.), and/or the like.
  • the merchant server may initiate clearance of a batch of authorized transactions.
  • the merchant server may generate a batch data request, e.g., 1537, and provide the request, e.g., 1538, to a database, e.g., merchant database 1509.
  • the merchant server may utilize PHP/SQL commands similar to the examples provided above to query a relational database.
  • the database may provide the requested batch data, e.g., 1539.
  • the server may generate a batch clearance request, e.g., 1540, using the batch data obtained from the database, and provide, e.g., 1541, the batch clearance request to an acquirer server, e.g., 1504.
  • the merchant server may provide a HTTP(S) POST message including XML-formatted batch data in the message body for the acquirer server.
  • the acquirer server may generate, e.g., 1542, a 1 batch payment request using the obtained batch clearance request, and provide the
  • the pay network server e.g., 1543.
  • 3 may parse the batch payment request, and extract the transaction data for each
  • the pay network server may
  • the pay network server may
  • the pay network server may utilize PHP/SQL commands similar to
  • the pay network server may generate an individual
  • the pay network server may provide a HTTP(S) POST request
  • the issuer server may generate a payment command, e.g., 1550.
  • the issuer server may issue a command to deduct funds from the user's account (or add a charge to the user's credit card account).
  • the issuer server may issue a payment command, e.g., 1551, to a database storing the user's account information, e.g., user profile database 1508.
  • the issuer server may provide a funds transfer message, e.g., 1552, to the pay network server, which may forward, e.g., !553, the funds transfer message to the acquirer server.
  • An example HTTP(S) POST funds transfer message is provided below: POST /clearance .php HTTP/1.1
  • the acquirer server may parse the funds transfer message, and correlate the transaction (e.g., using the request_ID field in the example above) to the merchant. The acquirer server may then transfer the funds specified in the funds transfer message to an account of the merchant, e.g., 1554.
  • FIGURES 16(a), (b), (c) and (d) show logic flow diagrams illustrating example aspects of executing a card-based transaction resulting in generation of raw card-based transaction data in some embodiments of the PR Platform.
  • a user may provide user input, e.g., 1601, into a client indicating the
  • the client may generate a
  • the merchant server may obtain, e.g.,
  • the purchase order message from the client may parse the purchase order
  • the merchant server may
  • the merchant server may process the transaction only if the
  • the merchant server may provide the generated card query request to
  • the acquirer server may generate a card authorization request, e.g.,
  • the pay network server may obtain
  • the card authorization request from the acquirer server may parse the card
  • the pay network server may generate a query, e.g., 1608, for an issuer server
  • the pay network database may provide, e.g., 1609, the requested issuer server data
  • the pay network server may utilize
  • pay network server may provide the card authorization request to the issuer server.
  • the issuer server may parse, e.g., 1611, the card authorization
  • the issuer server may determine whether the user can pay for the transaction using funds available in the account, e.g., 1614. For example, the issuer server may determine whether the user has a sufficient balance remaining in the account, sufficient credit associated with the account, and/or the like, but comparing the data from the database with the transaction cost obtained from the card authorization request. If the issuer server determines that the user can pay for the transaction using the funds available in the account, the server may provide an authorization message, e.g., 1615, to the pay network server.
  • an authorization message e.g., 1615
  • the pay network server may obtain the authorization message, and parse the message to extract authorization details. Upon determining that the user possesses sufficient funds for the transaction (e.g., 1617, option "Yes"), the pay network server may extract the transaction card from the authorization message and/or card authorization request, e.g., 1618, and generate a transaction data record, e.g., 1619, using the card transaction details. The pay network server may provide the transaction data record for storage, e.g., 1620, to a database.
  • the pay network server may forward the authorization message, e.g., 1621, to the acquirer server, which may in turn forward the authorization message, e.g., 1622, to the merchant server.
  • the merchant may obtain the authorization message, and parse the authorization message to extract its contents, e.g., 1623.
  • the merchant server may determine whether the user possesses sufficient funds in the card account to conduct the transaction. If the merchant server determines that the user possess sufficient funds, e.g., 1624, option "Yes," the merchant server may add the record of the 1 transaction for the user to a batch of transaction data relating to authorized
  • the merchant server may also generate a purchase receipt, e.g.,
  • the merchant server may generate an
  • the merchant server may provide the purchase
  • the client may render and
  • the merchant server may initiate clearance of a
  • 11 may provide the requested batch data, e.g., 1631, to the merchant server.
  • the server may provide the requested batch data, e.g., 1631, to the merchant server.
  • a batch clearance request e.g., 1632, using the batch data obtained from
  • 14 acquirer server may generate, e.g., 1634, a batch payment request using the obtained
  • the pay network server may parse, e.g., 1635, the batch payment request, select a
  • the pay network server 18 the transaction stored in the batch payment request, e.g., 1637.
  • 19 may generate a transaction data record, e.g., 1638, and store the transaction data, e.g.,
  • the transaction in a database.
  • the pay network For the extracted transaction, the pay network
  • 21 server may generate an issuer server query, e.g., 1640, for an address of an issuer server
  • the pay network server 22 maintaining the account of the user requesting the transaction.
  • the database may provide the issuer server data requested by the pay network server, e.g., 1641.
  • the pay network server may generate an individual payment request, e.g., 1642, for the transaction for which it has extracted transaction data, and provide the individual payment request to the issuer server using the issuer server data from the database.
  • the issuer server may obtain the individual payment request, and parse, e.g., 1643, the individual payment request to extract details of the request. Based on the extracted data, the issuer server may generate a payment command, e.g., 1644.
  • the issuer server may issue a command to deduct funds from the user's account (or add a charge to the user's credit card account).
  • the issuer server may issue a payment command, e.g., 1645, to a database storing the user's account information.
  • the database may update a data record corresponding to the user's account to reflect the debit / charge made to the user's account.
  • the issuer server may provide a funds transfer message, e.g., 1646, to the pay network server after the payment command has been executed by the database.
  • the pay network server may check whether there are additional transactions in the batch that need to be cleared and funded.
  • the pay network server may process each transaction according to the procedure described above.
  • the pay network server may generate, e.g., 1648, an aggregated funds transfer message reflecting transfer of all transactions in the batch, and provide, e.g., 1649, the funds transfer message to the acquirer server.
  • the acquirer server may, in response, transfer the funds specified in the funds transfer message to an account of the merchant, e.g., 1650.
  • FIGURE 17 shows a block diagram illustrating embodiments of a PR Platform controller.
  • the PR Platform controller 1701 may serve to aggregate, process, store, search, serve, identify, instruct, generate, match, and/or facilitate interactions with a computer through various technologies, and/or other related data.
  • users which may be people and/or other systems, may engage information technology systems (e.g., computers) to facilitate information processing.
  • computers employ processors to process information; such processors 1703 may be referred to as central processing units (CPU).
  • CPUs One form of processor is referred to as a microprocessor.
  • CPUs use communicative circuits to pass binary encoded signals acting as instructions to enable various operations.
  • These instructions may be operational and/or data instructions containing and/or referencing other instructions and data in various processor accessible and operable areas of memory 1729 (e.g., registers, cache memory, random access memory, etc.). Such communicative instructions may be stored and/or transmitted in batches (e.g., batches of instructions) as programs and/or data components to facilitate desired operations. These stored instruction codes, e.g., programs, may engage the CPU circuit components and other motherboard and/or system components to perform desired operations.
  • One type of program is a computer operating system, which, may be executed by CPU on a computer; the operating system enables and facilitates users to access and operate computer information technology and resources.
  • Some resources that may be employed in information technology systems include: input and output mechanisms through which data may pass into and out of a computer; memory storage into which data may be saved; and processors by which information may be processed. These information technology systems may be used to collect data for later retrieval, analysis, and manipulation, which may be facilitated through a database program. These information technology systems provide interfaces that allow users to access and operate various system components.
  • the PR Platform controller 1701 may be connected to and/or communicate with entities such as, but not limited to: one or more users from user input devices 1711; peripheral devices 1712; an optional cryptographic processor device 1728; and/or a communications network 1713.
  • Networks are commonly thought to comprise the interconnection and interoperation of clients, servers, and intermediary nodes in a graph topology.
  • server refers generally to a computer, other device, program, or combination thereof that processes and responds to the requests of remote users across a communications network. Servers serve their information to requesting "clients.”
  • client refers generally to a computer, program, other device, user and/or combination thereof that is capable of processing and making requests and obtaining and processing any responses from servers across a communications network.
  • a computer, other device, program, or combination thereof that facilitates, processes information and requests, and/or furthers the passage of information from a source user to a destination user is commonly referred to as a "node.”
  • Networks are generally thought to facilitate the transfer of information from source points to destinations.
  • a node specifically tasked 1 with furthering the passage of information from a source to a destination is commonly referred to as a node.
  • LANs Local Area Networks
  • WANs Wide Area Networks
  • WLANs Wireless Networks
  • the Internet is generally accepted as being an interconnection of a
  • the PR Platform controller 1701 may be based on computer systems that
  • 8 may comprise, but are not limited to, components such as: a computer systemization
  • a computer systemization 1702 may comprise a clock 1730, central
  • CPU(s) and/or “processor(s)” (these terms are used interchangeable
  • a memory 1729 e.g., a
  • ROM read only memory
  • RAM random access memory
  • 18 instructions may travel to effectuate communications
  • the computer systemization may be connected to a power
  • the power source 1786 e.g., optionally the power source may be internal.
  • the power source may be internal.
  • cryptographic processor 1726 and/or transceivers (e.g., ICs) 1774 may be connected to
  • transceivers may be connected as either internal and/or external peripheral devices 1712 1 via the interface bus I/O.
  • the transceivers may be connected to antenna(s) 1775,
  • the antenna(s) may connect to: a Texas Instruments
  • Broadcom BCM4329FKUBG transceiver chip e.g., providing
  • BCM4750IUB8 receiver chip e.g.,
  • an Infineon Technologies X-Gold 618-PMB9800 e.g., providing 2G/3G
  • the system clock typically has a0 crystal oscillator and generates a base signal through the computer systemization's1 circuit pathways.
  • the clock is typically coupled to the system bus and various clock2 multipliers that will increase or decrease the base operating frequency for other3 components interconnected in the computer systemization.
  • the clock and various4 components in a computer systemization drive signals embodying information5 throughout the system. Such transmission and reception of instructions embodying6 information throughout a computer systemization may be commonly referred to as7 communications. These communicative instructions may further be transmitted,8 received, and the cause of return and/or reply communications beyond the instant9 computer systemization to: communications networks, input devices, other computer0 systemizations, peripheral devices, and/or the like.
  • any of the above components may be connected directly to2 one another, connected to the CPU, and/or organized in numerous variations employed3 as exemplified by various computer systems.
  • the CPU comprises at least one high-speed data processor adequate to execute program components for executing user and/or system-generated requests.
  • the processors themselves will incorporate various specialized processing units, such as, but not limited to: integrated system (bus) controllers, memory management control units, floating point units, and even specialized processing sub-units like graphics processing units, digital signal processing units, and/or the like.
  • processors may include internal fast access addressable memory, and be capable of mapping and addressing memory 1729 beyond the processor itself; internal memory may include, but is not limited to: fast registers, various levels of cache memory (e.g., level 1, 2, 3, etc.), RAM, etc.
  • the processor may access this memory through the use of a memory address space that is accessible via instruction address, which the processor can construct and decode allowing it to access a circuit path to a specific memory address space having a memory state.
  • the CPU may be a microprocessor such as: AMD's Athlon, Duron and/or Opteron; ARM's application, embedded and secure processors; IBM and/or Motorola's DragonBall and PowerPC; IBM's and Sony's Cell processor; Intel's Celeron, Core (2) Duo, Itanium, Pentium, Xeon, and/or XScale; and/or the like processor(s).
  • the CPU interacts with memory through instruction passing through conductive and/or transportive conduits (e.g., (printed) electronic and/or optic circuits) to execute stored instructions (i.e., program code) according to conventional data processing techniques. Such instruction passing facilitates communication within the PR Platform controller and beyond through various interfaces.
  • distributed processors e.g., Distributed PR Platform
  • mainframe multi-core, parallel, and/or super-computer architectures
  • PDAs Personal Digital Assistants
  • features of the PR Platform may be achieved by implementing a microcontroller such as CAST'S R8051XC2 microcontroller; Intel's MCS 51 (i.e., 8051 microcontroller); and/or the like.
  • some feature implementations may rely on embedded components, such as: Application-Specific Integrated Circuit ("ASIC"), Digital Signal Processing (“DSP”), Field Programmable Gate Array (“FPGA”), and/or the like embedded technology.
  • ASIC Application-Specific Integrated Circuit
  • DSP Digital Signal Processing
  • FPGA Field Programmable Gate Array
  • any of the PR Platform component collection (distributed or otherwise) and/or features may be implemented via the microprocessor and/or via embedded components; e.g., via ASIC, coprocessor, DSP, FPGA, and/or the like.
  • some implementations of the PR Platform may be implemented with embedded components that are configured and used to achieve a variety of features or signal processing.
  • the embedded components may include software solutions, hardware solutions, and/or some combination of both hardware/ software solutions.
  • PR Platform features discussed herein may be achieved through implementing FPGAs, which are a semiconductor devices containing programmable logic components called “logic blocks", and programmable interconnects, such as the high performance FPGA Virtex series and/or the low cost Spartan series manufactured by Xilinx.
  • Logic blocks and interconnects can be programmed by the customer or designer, after the FPGA is manufactured, to implement any of the PR Platform features.
  • a hierarchy of programmable interconnects allow logic blocks to be interconnected as needed by the PR Platform system designer/administrator, somewhat like a one-chip programmable breadboard.
  • An FPGA's logic blocks can be programmed to perform the operation of basic logic gates such as AND, and XOR, or more complex combinational operators such as decoders or mathematical operations.
  • the logic blocks also include memory elements, which may be circuit flip-flops or more complete blocks of memory.
  • the PR Platform may be developed on regular FPGAs and then migrated into a fixed version that more resembles ASIC implementations. Alternate or coordinating implementations may migrate PR Platform controller features to a final ASIC instead of or in addition to FPGAs.
  • all of the aforementioned embedded components and microprocessors may be considered the "CPU" and/or "processor" for the PR Platform. Power Source
  • the power source 1786 may be of any standard form for powering small electronic circuit board devices such as the following power cells: alkaline, lithium hydride, lithium ion, lithium polymer, nickel cadmium, solar cells, and/or the like. Other types of AC or DC power sources may be used as well. In the case of solar cells, in one embodiment, the case provides an aperture through which the solar cell may capture photonic energy.
  • the power cell 1786 is connected to at least one of the interconnected subsequent components of the PR Platform thereby providing an electric current to all subsequent components.
  • the power source 1786 is connected to the system bus component 1704.
  • an outside power source 1786 is provided through a connection across the I/O 1708 interface. For example, a USB and/or IEEE 1394 connection carries both data and power across the connection and is therefore a suitable source of power.
  • Interface Adapters for example, a USB and/or IEEE 1394 connection carries both data and power across the connection and is therefore a suitable source of power.
  • Interface bus(ses) 1707 may accept, connect, and/or communicate to a number of interface adapters, conventionally although not necessarily in the form of adapter cards, such as but not limited to: input output interfaces (I/O) 1708, storage interfaces 1709, network interfaces 1710, and/or the like.
  • cryptographic processor interfaces 1727 similarly may be connected to the interface bus.
  • the interface bus provides for the communications of interface adapters with one another as well as with other components of the computer systemization.
  • Interface adapters are adapted for a compatible interface bus.
  • Interface adapters conventionally connect to the interface bus via a slot architecture.
  • Storage interfaces 1709 may accept, communicate, and/or connect to a number of storage devices such as, but not limited to: storage devices 1714, removable disc devices, and/or the like.
  • Storage interfaces may employ connection protocols such as, but not limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE), Institute of Electrical and Electronics Engineers (IEEE) 1394, fiber channel, Small Computer Systems Interface (SCSI), Universal Serial Bus (USB), and/or the like.
  • Network interfaces 1710 may accept, communicate, and/or connect to a communications network 1713. Through a communications network 1713, the PR Platform controller is accessible through remote clients 1733b (e.g., computers with web browsers) by users 1733a.
  • Network interfaces may employ connection protocols such as, but not limited to: direct connect, Ethernet (thick, thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring, wireless connection such as IEEE 8o2.na-x, and/or the like.
  • connection protocols such as, but not limited to: direct connect, Ethernet (thick, thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring, wireless connection such as IEEE 8o2.na-x, and/or the like.
  • distributed network controllers e.g., Distributed PR Platform
  • architectures may similarly be employed to pool, load balance, and/or otherwise increase the communicative bandwidth required by the PR Platform controller.
  • a communications network 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.
  • a network interface may be regarded as a specialized form of an input output interface.
  • multiple network interfaces 1710 may be used to engage with various communications network types 1713. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and/or unicast networks.
  • I/O 1708 may accept, communicate, and/or connect to user input devices 1711, peripheral devices 1712, cryptographic processor devices 1728, and/or the like.
  • I/O may employ connection protocols such as, but not limited to: audio: analog, digital, monaural, RCA, stereo, and/or the like; data: Apple Desktop Bus (ADB), IEEE I394a-b, serial, universal serial bus (USB); infrared; joystick; keyboard; midi; optical; PC AT; PS/2; parallel; radio; video interface: Apple Desktop Connector (ADC), BNC, coaxial, component, composite, digital, Digital Visual Interface (DVI), high-definition multimedia interface (HDMI), RCA, RF antennae, S-Video, VGA, and/or the like; wireless transceivers: 8o2.na/b/g/n/x; Bluetooth; cellular (e.g., code division multiple access (CDMA), high speed packet access (HSPA(+)), high-speed down
  • One typical output device may include a video display, which typically comprises a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) based monitor with an interface (e.g., DVI circuitry and cable) that accepts signals from a video interface, may be used.
  • the video interface composites information generated by a computer systemization and generates video signals based on the composited information in a video memory frame.
  • Another output device is a television set, which accepts signals from a video interface.
  • the video interface provides the composited video information through a video connection interface that accepts a video display interface (e.g., an RCA composite video connector accepting an RCA composite video cable; a DVI connector accepting a DVI display cable, etc.).
  • User input devices 1711 often are a type of peripheral device 512 (see below) and may include: card readers, dongles, finger print readers, gloves, graphics tablets, joysticks, keyboards, microphones, mouse (mice), remote controls, retina readers, touch screens (e.g., capacitive, resistive, etc.), trackballs, trackpads, sensors 1 (e.g., accelerometers, ambient light, GPS, gyroscopes, proximity, etc.), styluses, and/or
  • Peripheral devices 1712 may be connected and/or communicate to I/O
  • Peripheral devices may be any type of peripheral devices 5 to the interface bus, system bus, the CPU, and/or the like. Peripheral devices may be
  • Peripheral devices may
  • antenna 7 include: antenna, audio devices (e.g., line-in, line-out, microphone input, speakers, etc.),
  • Peripheral devices often include types of input devices (e.g., cameras).
  • the PR Platform controller may be embodied as an embedded
  • Cryptographic units such as, but not limited to, microcontrollers,
  • processors 1726, interfaces 1727, and/or devices 1728 may be attached, and/or
  • a MC68HC16 microcontroller A MC68HC16 microcontroller
  • 22 MC68HC16 microcontroller utilizes a 16-bit multiply-and-accumulate instruction in the
  • Cryptographic units support the authentication of communications from interacting agents, as well as allowing for anonymous transactions. Cryptographic units may also be configured as part of the CPU. Equivalent microcontrollers and/or processors may also be used.
  • Typical commercially available specialized cryptographic processors include: Broadcom's CryptoNetX and other Security Processors; nCipher's nShield; SafeNet's Luna PCI (e.g., 7100) series; Semaphore Communications' 40 MHz Roadrunner 184; Sun's Cryptographic Accelerators (e.g., Accelerator 6000 PCIe Board, Accelerator 500 Daughtercard); Via Nano Processor (e.g., L2100, L2200, U2400) line, which is capable of performing 500+ MB/s of cryptographic instructions; VLSI Technology's 33 MHz 6868; and/or the like.
  • Memory e.g., L2100, L2200, U2400
  • any mechanization and/or embodiment allowing a processor to affect the storage and/or retrieval of information is regarded as memory 1729.
  • memory is a fungible technology and resource, thus, any number of memory embodiments may be employed in lieu of or in concert with one another.
  • the PR Platform controller and/or a computer systemization may employ various forms of memory 1729.
  • a computer systemization may be configured wherein the operation of on-chip CPU memory (e.g., registers), RAM, ROM, and any other storage devices are provided by a paper punch tape or paper punch card mechanism; however, such an embodiment would result in an extremely slow rate of operation.
  • memory 1729 will include ROM 1706, RAM 1705, and a storage device 1714.
  • a storage device 1714 may be any conventional computer system storage. Storage devices may include a drum; a (fixed and/or removable) magnetic disk drive; a magneto-optical drive; an optical drive (i.e., Blueray, CD ROM/RAM/Recordable (R)/ReWritable (RW), DVD R/RW, HD DVD R/RW etc.); an array of devices (e.g., Redundant Array of Independent Disks (RAID)); solid state memory devices (USB memory, solid state drives (SSD), etc.); other processor-readable storage mediums; and/or other devices of the like.
  • RAID Redundant Array of Independent Disks
  • SSD solid state drives
  • the memory 1729 may contain a collection of program and/or database components and/or data such as, but not limited to: operating system component(s) 1715 (operating system); information server component(s) 1716 (information server); user interface component(s) 1717 (user interface); Web browser component(s) 1718 (Web browser); database(s) 1719; mail server component(s) 1721; mail client component(s) 1722; cryptographic server component(s) 1720 (cryptographic server); the PR Platform component(s) 1735; and/or the like (i.e., collectively a component collection). These components may be stored and accessed from the storage devices and/or from storage devices accessible through an interface bus.
  • operating system component(s) 1715 operating system
  • information server component(s) 1716 information server
  • user interface component(s) 1717 user interface
  • Web browser component(s) 1718 Web browser
  • database(s) 1719 mail server component(s) 1721; mail client component(s) 1722; cryptographic server component(s) 1720 (cryptographic
  • non- conventional program components such as those in the component collection, typically, are stored in a local storage device 1714, they may also be loaded and/or stored in memory such as: peripheral devices, RAM, remote storage facilities through a communications network, ROM, various forms of memory, and/or the like.
  • memory such as: peripheral devices, RAM, remote storage facilities through a communications network, ROM, various forms of memory, and/or the like.
  • the operating system component 1715 is an executable program
  • operating system facilitates access of I/O, network interfaces, peripheral devices,
  • the operating system may be a highly fault tolerant,
  • BSD 8 Distribution
  • An operating system may communicate to and/or with other components in a
  • the operating system may contain, communicate, generate, obtain, and/or
  • the operating system once executed by the CPU, may enable the
  • the operating system may
  • 23 communication protocols may be used by the PR Platform controller as a subcarrier transport mechanism for interaction, such as, but not limited to: multicast, TCP/IP, UDP, unicast, and/or the like.
  • Information Server may be used by the PR Platform controller as a subcarrier transport mechanism for interaction, such as, but not limited to: multicast, TCP/IP, UDP, unicast, and/or the like.
  • An information server component 1716 is a stored program component that is executed by a CPU.
  • the information server may be a conventional Internet information server such as, but not limited to Apache Software Foundation's Apache, Microsoft's Internet Information Server, and/or the like.
  • the information server may allow for the execution of program components through facilities such as Active Server Page (ASP), ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, Common Gateway Interface (CGI) scripts, dynamic (D) hypertext markup language (HTML), FLASH, Java, JavaScript, Practical Extraction Report Language (PERL), Hypertext Pre-Processor (PHP), pipes, Python, wireless application protocol (WAP), WebObjects, and/or the like.
  • ASP Active Server Page
  • ActiveX ActiveX
  • ANSI Objective-
  • C++ C#
  • CGI Common Gateway Interface
  • CGI Common Gateway Interface
  • D hypertext markup language
  • FLASH Java
  • JavaScript JavaScript
  • PROL Practical Extraction Report Language
  • PGP
  • the information server may support 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), messaging protocols (e.g., America Online (AOL) Instant Messenger (AIM), Application Exchange (APEX), ICQ, Internet Relay Chat (IRC), Microsoft Network (MSN) Messenger Service, Presence and Instant Messaging Protocol (PRIM), Internet Engineering Task Force's (IETF's) Session Initiation Protocol (SIP), SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE), open XML-based Extensible Messaging and Presence Protocol (XMPP) (i.e., Jabber or Open Mobile Alliance's (OMA's) Instant Messaging and Presence Service (IMPS)), Yahoo!
  • FTP File Transfer Protocol
  • HTTP HyperText Transfer Protocol
  • HTTPS Secure Hypertext Transfer Protocol
  • SSL Secure Socket Layer
  • messaging protocols e.g., America Online (A
  • the information server provides results in the form of Web pages to Web browsers, and allows for the manipulated generation of the Web pages through interaction with other program components.
  • DNS Domain Name System
  • a request such as http://123.124.125.126/myInformation.html might have the IP portion of the request "123.124.125.126” resolved by a DNS server to an information server at that IP address; that information server might in turn further parse the http request for the "/mylnformation.html” portion of the request and resolve it to a location in memory containing the information "mylnformation.html.”
  • other information serving protocols may be employed across various ports, e.g., FTP communications across port 21, and/or the like.
  • An information server may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like.
  • the information server communicates with the PR Platform database 1719, operating systems, other program components, user interfaces, Web browsers, and/or the like.
  • Access to the PR Platform database may be achieved through a number of database bridge mechanisms such as through scripting languages as enumerated below (e.g., CGI) and through inter-application communication channels as enumerated below (e.g., CORBA, WebObjects, etc.). Any data requests through a Web browser are parsed through the bridge mechanism into appropriate grammars as required by the PR Platform.
  • the information server would provide a Web form accessible by a Web browser. Entries made into supplied fields in the Web form are tagged as having been entered into the particular fields, and parsed as such.
  • the parser may generate queries in standard SQL by instantiating a search string with the proper join/select commands based on the tagged text entries, wherein the resulting command is provided over the bridge mechanism to the PR Platform as a query.
  • the results are passed over the bridge mechanism, and may be parsed for formatting and generation of a new results Web page by the bridge mechanism.
  • Such a new results Web page is then provided to the information server, which may supply it to the requesting Web browser.
  • an information server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • Computer interfaces in some respects are similar to automobile operation interfaces.
  • Automobile operation interface elements such as steering wheels, gearshifts, and speedometers facilitate the access, operation, and display of automobile resources, and status.
  • Computer interaction interface elements such as check boxes, cursors, menus, scrollers, and windows (collectively and commonly referred to as widgets) similarly facilitate the access, capabilities, operation, and display of data and computer hardware and operating system resources, and status.
  • Operation interfaces are commonly called user interfaces.
  • Graphical user interfaces such as the Apple Macintosh Operating System's Aqua, IBM's OS/2, Microsoft's Windows 1 2000/2003/3. i/95/98/CE/Millenium/NT/XP/Vista/7 (i.e., Aero), Unix's X-Windows
  • KDE 3 Desktop Environment
  • mythTV 3 Desktop Environment
  • GNOME web interface libraries
  • ActiveX ActiveX
  • AJAX AJAX
  • D Dynamic Object
  • JavaScript etc. interface libraries such as, but not limited to, Dojo, jQuery(UI),
  • a user interface component 1717 is a stored program component that is0 executed by a CPU.
  • the user interface may be a conventional graphic user interface as1 provided by, with, and/or atop operating systems and/or operating environments such2 as already discussed.
  • the user interface may allow for the display, execution,3 interaction, manipulation, and/or operation of program components and/or system4 facilities through textual and/or graphical facilities.
  • the user interface provides a facility5 through which users may affect, interact, and/or operate a computer system.
  • a user6 interface may communicate to and/or with other components in a component7 collection, including itself, and/or facilities of the like. Most frequently, the user8 interface communicates with operating systems, other program components, and/or the9 like.
  • the user interface may contain, communicate, generate, obtain, and/or provide0 program component, system, user, and/or data communications, requests, and/or1 responses.
  • a Web browser component 1718 is a stored program component that is
  • the Web browser may be a conventional hypertext viewing
  • 5 browsing may be supplied with I28bit (or greater) encryption by way of HTTPS, SSL,
  • Web browsers allowing for the execution of program components
  • a Web browser may communicate to
  • the combined application may be
  • a mail server component 1721 is a stored program component that is executed by a CPU 1703.
  • the mail server may be a conventional Internet mail server such as, but not limited to sendmail, Microsoft Exchange, and/or the like.
  • the mail server may allow for the execution of program components through facilities such as ASP, ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, CGI scripts, Java, JavaScript, PERL, PHP, pipes, Python, WebObjects, and/or the like.
  • the mail server may support communications protocols such as, but not limited to: Internet message access protocol (IMAP), Messaging Application Programming Interface (MAPI)/Microsoft Exchange, post office protocol (POP3), simple mail transfer protocol (SMTP), and/or the like.
  • IMAP Internet message access protocol
  • MAPI Messaging Application Programming Interface
  • PMP3 post office protocol
  • simple mail transfer protocol SMTP
  • the mail server can route, forward, and process incoming and outgoing mail messages that have been sent, relayed and/or otherwise traversing through and/or to the PR Platform.
  • Access to the PR Platform mail may be achieved through a number of APIs offered by the individual Web server components and/or the operating system.
  • a mail server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses.
  • a mail client component 1722 is a stored program component that is executed by a CPU 1703.
  • the mail client may be a conventional mail viewing application such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Microsoft Outlook Express, Mozilla, Thunderbird, and/or the like.
  • Mail clients may support a number of transfer protocols, such as: IMAP, Microsoft Exchange, POP3, SMTP, and/or the like.
  • a mail client may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like.
  • the mail client communicates with mail servers, operating systems, other mail clients, and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses.
  • the mail client provides a facility to compose and transmit electronic mail messages.
  • a cryptographic server component 1720 is a stored program component that is executed by a CPU 1703, cryptographic processor 1726, cryptographic processor interface 1727, cryptographic processor device 1728, and/or the like.
  • Cryptographic processor interfaces will allow for expedition of encryption and/or decryption requests by the cryptographic component; however, the cryptographic component, alternatively, may run on a conventional CPU.
  • the cryptographic component allows for the encryption and/or decryption of provided data.
  • the cryptographic component allows for both symmetric and asymmetric (e.g., Pretty Good Protection (PGP)) encryption and/or decryption.
  • PGP Pretty Good Protection
  • the cryptographic component may employ cryptographic techniques such as, but not limited to: digital certificates (e.g., X.509 authentication framework), digital signatures, dual signatures, enveloping, password access protection, public key management, and/or the like.
  • the cryptographic component will facilitate numerous (encryption and/or decryption) security protocols such as, but not limited to: checksum, Data Encryption Standard (DES), Elliptical Curve Encryption (ECC), International Data Encryption Algorithm (IDEA), Message Digest 5 (MD5, which is a one way hash operation), passwords, Rivest Cipher (RC5), Rijndael, RSA (which is an Internet encryption and authentication system that uses an algorithm developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman), Secure Hash Algorithm (SHA), Secure Socket Layer (SSL), Secure Hypertext Transfer Protocol (HTTPS), and/or the like.
  • digital certificates e.g., X.509 authentication
  • the PR Platform may encrypt all incoming and/or outgoing communications and may serve as node within a virtual private network (VPN) with a wider communications network.
  • the cryptographic component facilitates the process of "security authorization" whereby access to a resource is inhibited by a security protocol wherein the cryptographic component effects authorized access to the secured resource.
  • the cryptographic component may provide unique identifiers of content, e.g., employing and MD5 hash to obtain a unique signature for an digital audio file.
  • a cryptographic component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like.
  • the cryptographic component supports encryption schemes allowing for the secure transmission of information across a communications network to enable the PR Platform component to engage in secure transactions if so desired.
  • the cryptographic component facilitates the secure accessing of resources on the PR Platform and facilitates the access of secured resources on remote systems; i.e., it may act as a client and/or server of secured resources.
  • the cryptographic component communicates with information servers, operating systems, other program components, and/or the like.
  • the cryptographic component may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • the PR Platform Database may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • the PR Platform database component 1719 may be embodied in a database and its stored data.
  • the database is a stored program component, which is executed by the CPU; the stored program component portion configuring the CPU to process the stored data.
  • the database may be a conventional, fault tolerant, relational, scalable, secure database such as Oracle or Sybase.
  • Relational databases are an extension of a flat file. Relational databases may include a series of related tables. The tables are interconnected via a key field. Use of the key field allows the combination of the tables by indexing against the key field; i.e., the key fields act as dimensional pivot points for combining information from various tables. Relationships generally identify links maintained between tables by matching primary keys.
  • Primary keys represent fields that uniquely identify the rows of a table in a relational database. More precisely, they uniquely identify rows of a table on the "one" side of a one-to-many relationship.
  • the PR Platform database may be implemented using various standard data-structures, such as an array, hash, (linked) list, struct, structured text file (e.g., XML), table, and/or the like. Such data-structures may be stored in memory and/or in (structured) files.
  • an object-oriented database may be used, such as Frontier, ObjectStore, Poet, Zope, and/or the like.
  • Object databases can include a number of object collections that are grouped and/or linked together by common attributes; they may be related to other object collections by some common attributes. Object-oriented databases perform similarly to relational databases with the exception that objects are not just pieces of data but may have other types of capabilities encapsulated within a given object. If the PR Platform database is implemented as a data-structure, the use of the PR Platform database 1719 may be integrated into another component such as the PR Platform component 1735. Also, the database may be implemented as a mix of data structures, objects, and relational structures. Databases may be consolidated and/or distributed in countless variations through standard data processing techniques. Portions of databases, e.g., tables, may be exported and/or imported and thus decentralized and/or integrated.
  • the database component 1719 includes several tables I7i9a-e.
  • a User table 1719a includes fields such as, but not limited to: a user_ID, username, password, device ID, TID, mailing address, email address, telephone number, payment_ID, and/or the like. The user table may support and/or track multiple entity accounts on a PR Platform.
  • a Recall table 1719b includes fields such as, but not limited to: recall_ID, product_SKU, product_model, product_name, importer, contact_id, phone, contact_time, contact_day, website, hazard, incidents, description, sold_location, sold_dates, remedy, template, confirmation_type, and/or the like.
  • a Merchant table 1719c includes fields such as, but not limited to: merchant_ID, merchant_location, merchant_name, TID, product_SKU, product_modelm product_name, and/or the like.
  • An Issuer table I7i9d includes fields such as, but not limited to: issuer_ID, issuer_name, accountholder_ID, product_SKU, TID, issuer_address, ip_address, mac_address, auth_key, port_num, security_settings_list and/or the like.
  • An Acquirer table 1719 ⁇ includes fields such as, but not limited to: acquirer_ID, acquirer_name, acquirer_location, merchant_ID, product_SKU, TID, and/or the like.
  • a Preferences table I7i9f includes fields such as, but not limited to: user_ID, notification_ID, reminder_settings, and/or the like.
  • a Products table I7i9g includes fields such as, but not limited to: product_ID, product_SKU, product_UPC, product_model, product_name, product_image, product_suppler, product_manufacturer, TID, and/or the like.
  • a Supplier table 1719b includes fields such as, but not limited to: supplier_ID, manufacturer_ID, product_ID, product_SKU, address, telephone number, website, email, and/or the like.
  • a Pay Network table 17191 may include fields such as, but not limited to: request_id, timestamp, deposit_amount, batch_id, TID, clear_flag, deposit_account, transaction_ summary, payor_name, payor_account, and/or the like.
  • a Transactions table I7i9j may include fields such as, but not limited to: order_id, user_id, timestamp, transaction_cost, purchase_details_list, num_products, products_list, product_type, product_params list, product_title, product_summary, quantity, user_id, client_id, client_ip, client_type, client_model, operating_system, os_version, app_installed_flag, user_id, account_firstname, account_lastname, account_type, account_num, billingaddress_ linei, billingaddress_line2, billing_ zipcode, billing_state, shipping_preferences, shippingaddress_linei, shippingaddress_ line2, shipping_zipcode, shipping_state, merchant_id, merchant_name, merchant_ auth_key, and/or the like.
  • the PR Platform database may interact with other database systems. For example, employing a distributed database system, queries and data access by search PR Platform component may treat the combination of the PR Platform database, an integrated data security layer database as a single database entity.
  • user programs may contain various user interface primitives, which may serve to update the PR Platform.
  • various accounts may require custom database tables depending upon the environments and the types of clients the PR Platform may need to serve. It should be noted that any unique fields may be designated as a key field throughout. In an alternative embodiment, these tables have been decentralized into their own databases and their respective database controllers (i.e., individual database controllers for each of the above tables).
  • the PR Platform may be configured to keep track of various settings, inputs, and parameters via database controllers.
  • the PR Platform database may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the PR Platform database communicates with the PR Platform component, other program components, and/or the like. The database may contain, retain, and provide information regarding other nodes and data.
  • the PR Platform component 1735 is a stored program component that is executed by a CPU. In one embodiment, the PR Platform component incorporates any and/or all combinations of the aspects of the PR Platform that was discussed in the previous figures. As such, the PR Platform affects accessing, obtaining and the provision of information, services, transactions, and/or the like across various communications networks. [ 00 161 ] The PR Platform transforms recall initiation requests 630, 830, product ID 832 and purchase processing request 1134 inputs via PR Platform components TRN, PRN and URN into recalled product information 635, 640, TID 655, 660, recall notification message 670, 680, account numbers 836 and recall notification 842 outputs.
  • the PR Platform component enabling access of information between nodes may be developed by employing standard development tools and languages such as, but not limited to: Apache components, Assembly, ActiveX, binary executables, (ANSI) (Objective-) C (++), C# and/or .NET, database adapters, CGI scripts, Java, JavaScript, mapping tools, procedural and object oriented development tools, PERL, PHP, Python, shell scripts, SQL commands, web application server extensions, web development environments and libraries (e.g., Microsoft's ActiveX; Adobe AIR, FLEX & FLASH; AJAX; (D)HTML; Dojo, Java; JavaScript; jQuery(UI); MooTools; Prototype; script.aculo.us; Simple Object Access Protocol (SOAP); SWFObject; Yahoo!
  • Apache components Assembly, ActiveX, binary executables, (ANSI) (Objective-) C (++), C# and/or .NET
  • database adapters CGI scripts
  • Java JavaScript
  • mapping tools procedural and object
  • the PR Platform server employs a cryptographic server to encrypt and decrypt communications.
  • the PR Platform component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the PR Platform component communicates with the PR Platform database, operating systems, other program components, and/or the like.
  • the PR Platform may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
  • any of the PR Platform node controller components may be combined, consolidated, and/or distributed in any number of ways to facilitate development and/or deployment.
  • the component collection may be combined in any number of ways to facilitate deployment and/or development. To accomplish this, one may integrate the components into a common code base or in a facility that can dynamically load the components on demand in an integrated fashion.
  • the component collection may be consolidated and/or distributed in countless variations through standard data processing and/or development techniques. Multiple instances of any one of the program components in the program component collection may be instantiated on a single node, and/or across numerous nodes to improve performance through load-balancing and/or data-processing techniques.
  • single instances may also be distributed across multiple controllers and/or storage devices; e.g., databases. All program component instances and controllers working in concert may do so through standard data processing communication techniques.
  • the configuration of the PR Platform controller will depend on the context of system deployment. Factors such as, but not limited to, the budget, capacity, location, and/or use of the underlying hardware resources may affect deployment requirements and configuration. Regardless of if the configuration results in more consolidated and/or integrated program components, results in a more distributed series of program components, and/or results in some combination between a consolidated and distributed configuration, data may be communicated, obtained, and/or provided. Instances of components consolidated into a common code base from the program component collection may communicate, obtain, and/or provide data. This may be accomplished through intra-application data processing communication techniques such as, but not limited to: data referencing (e.g., pointers), internal messaging, object instance variable communication, shared memory space, variable passing, and/or the like.
  • component collection components are discrete, separate, and/or external to one another, then communicating, obtaining, and/or providing data with and/or to other component components may be accomplished through inter-application data processing communication techniques such as, but not limited to: Application Program Interfaces (API) information passage; (distributed) Component Object Model ((D)COM), (Distributed) Object Linking and Embedding ((D)OLE), and/or the like), Common Object Request Broker Architecture (CORBA), Jini local and remote application program interfaces, JavaScript Object Notation (JSON), Remote Method Invocation (RMI), SOAP, process pipes, shared files, and/or the like.
  • API Application Program Interfaces
  • D Distributed) Component Object Model
  • D Distributed) Object Linking and Embedding
  • CORBA Common Object Request Broker Architecture
  • JSON JavaScript Object Notation
  • RMI Remote Method Invocation
  • SOAP process pipes, shared files, and/or the like.
  • a grammar may be developed by using development tools such as lex, yacc, XML, and/or the like, which allow for grammar generation and parsing capabilities, which in turn may form the basis of communication messages within and between components.
  • a grammar may be arranged to recognize the tokens of an HTTP post command, e.g.: w3c -post http : / / . . . Valuel
  • Valuei is discerned as being a parameter because "http://" is part of the grammar syntax, and what follows is considered part of the post value. Similarly, with such a grammar, a variable “Valuel” may be inserted into an "http://" post command and then sent.
  • the grammar syntax itself may be presented as structured data that is interpreted and/or otherwise used to generate the parsing mechanism (e.g., a syntax description text file as processed by lex, yacc, etc.).
  • parsing mechanism may process and/or parse structured data such as, but not limited to: character (e.g., tab) delineated text, HTML, structured text streams, XML, and/or the like structured data.
  • inter-application data processing protocols themselves may have integrated and/or readily available parsers (e.g., JSON, SOAP, and/or like parsers) that may be employed to parse (e.g., communications) data.
  • parsing grammar may be used beyond message parsing, but may also be used to parse: databases, data collections, data stores, structured data, and/or the like. Again, the desired configuration will depend upon the context, environment, and requirements of system deployment.
  • the PR Platform controller may be executing a PHP script implementing a Secure Sockets Layer ("SSL") socket server via the information server, which listens to incoming communications on a server port to which a client may send data, e.g., data encoded in JSON format.
  • the PHP script may read the incoming message from the client device, parse the received JSON-encoded text data to extract information from the JSON-encoded text data into PHP script variables, and store the data (e.g., client identifying information, etc.) and/or extracted information in a relational database accessible using the Structured Query Language ("SQL").
  • SQL Structured Query Language
  • $address 1 192.168.0.100 ' ;
  • socket_bind ($sock, $address, $port) or die ( 'Could not bind to address');

Abstract

The product recall platform apparatuses, methods and systems ("PR Platform") transforms recall Initiation request, product identifier and purchase processing request inputs via PR Platform components into recall notification message outputs. In some embodiments, the PR Platform receives a purchase processing request including a plurality of product identifiers and preselects product identifiers that qualify for purchase processing based on at least one purchases processing rule. The PR Platform facilitates querying of a product recall database to determine if the preselected product identifiers match recalled product identifiers In the product recall database. If at least one of the preselected product identifiers match the recalled product identifiers, the PR Platform retrieves a recall message associated with the at least one of the preselected product Identifiers and notification preferences associated with the purchase processing request.

Description

PRODUCT RECALL PLATFORM APPARATUSES, M ETHODS AND
SYSTEMS
[oooi] This patent application disclosure document (hereinafter "description" and/or "descriptions") describes inventive aspects directed at various novel innovations (hereinafter "innovation," "innovations," and/or "innovation(s)") and contains material that is subject to copyright, mask work, and/or other intellectual property protection. The respective owners of such intellectual property have no objection to the facsimile reproduction of the patent disclosure document by anyone as it appears in published Patent Office file/records, but otherwise reserve all rights.
RELATED APPLICATIONS
[0002] This application claims priority under 35 USC §119 to United States provisional patent application serial no. 61/331,331 filed on May 4, 2010. This application is a continuation-in-part of United States application serial no. 12/770,607 filed on April 29. 2010, entitled "Product Recall Service," which in turn claims priority under 35 USC §119 to United States provisional patent application serial no. 61/174,402 filed on April 30, 2009 and United States provisional patent application serial no. 61/293,359 filed on January 8, 2010. The entire contents of the aforementioned applications are herein expressly incorporated by reference. FIELD
[0003] The present innovations are directed generally to consumer product recalls and more particularly, to PRODUCT RECALL PLATFORM APPARATUSES, METHODS AND SYSTEMS.
BACKGROUND
[0004] Many products such as cars, toys, food items, equipments, etc., sold in the market are recalled when they are discovered to have safety issues or are not safe for use or consumption. Manufacturers of such unsafe products, upon discovering a safety issue, may implement a voluntary recall or may be required to initiate a recall whereby consumers who purchased the recalled products are requested to return the products for refund or exchange via publications and/or direct mail. Product recall process is often expensive and laborious, and may have a negative impact on the brand image.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The accompanying appendices and/or drawings illustrate various non- limiting, example, innovative aspects in accordance with the present descriptions:
[0006] FIGURE 1 shows a diagram illustrating an example consumer product recall in some embodiments of the PR Platform;
[0007] FIGURE 2 shows a block diagram illustrating recall notification procedures in some embodiments of the PR Platform; [o o o 8] FIGURE 3 shows a diagram illustrating types of products recalled in some embodiments of the PR Platform; [ 0009 ] FIGURE 4 shows a data flow diagram illustrating example recall in some embodiments of the PR Platform; [ 0010 ] FIGURE 5 shows a data flow diagram illustrating example recall party enrollment in some embodiments of the PR Platform; [ 0011 ] FIGURE 6 shows a data flow diagram illustrating example Transaction ID (TID) based recall notification component in some embodiments of the PR Platform; [ 00 12 ] FIGURE 7 shows a logic flow diagram illustrating example transaction ID (TID) based recall notification component (TRN) in some embodiments of the PR Platform; [ 0013 ] FIGURE 8 shows a data flow diagram illustrating example Product ID- based recall notification in some embodiments of the PR Platform; [ 0014] FIGURE 9 shows a logic flow diagram illustrating example Product ID- based recall notification component (PRN) in some embodiments of the PR Platform; [ 0015 ] FIGURE 10 shows a data flow diagram illustrating example revenue share in some embodiments of the PR Platform; [ 00 16 ] FIGURE 11 shows a logic flow diagram illustrating example user-initiated recall notification component (URN) in some embodiments of the PR Platform; [ 0017] FIGURES 12(a), (b), (c) and (d) show example application user interfaces in some embodiments of the PR Platform; [ 00 18 ] FIGURES 13(a), (b) and (c) show example application user interfaces in some embodiments of the PR Platform; [ 00 19 ] FIGURES 14(a) and 14(b) show an example purchase registration recall notification user interfaces in some embodiments of the PR Platform; [ 00 20 ] FIGURES 15(a), (b) and (c) show data flow diagrams illustrating an example procedure to execute a card-based transaction resulting in raw card-based transaction data in some embodiments of the PR Platform; [ 00 21] FIGURES 16(a), (b), (c) and (d) show logic flow diagrams illustrating example aspects of executing a card-based transaction resulting in generation of raw card-based transaction data in some embodiments of the PR Platform; and [ 0 022 ] FIGURE 17 shows a block diagram illustrating embodiments of a PR Platform controller. [ 0023 ] The leading number of each reference number within the drawings indicates the figure in which that reference number is introduced and/or detailed. As such, a detailed discussion of reference number 101 would be found and/or introduced in Figure 1. Reference number 201 is introduced in Figure 2, etc.
DETAILED DESCRIPTION
[0024] Embodiments of the PR Platform provide cost effective and targeted notifications to consumers who have purchased a product that has been recalled by a manufacturer of the product. In one implementation, one or more of the following participants, including manufacturers, suppliers of products manufactured by others, merchants, acquirers or acquiring bank, issuers or issuing bank and account holders may be registered in the PR Platform. Each participating merchant may send, for delivery to the PR Platform, transaction data sufficient to identify each account holder making a purchase from the merchant as well as their purchased items. Each such purchased item may be part of a transaction conducted on an account issued to the account holder by an issuer, where the transaction was conducted by the merchant with the account holder. Payment to the merchant for the transaction may be authorized by the issuer to the merchant's acquirer, and may be cleared and settled through a payment processing system. [0025] Upon recall notice received by the PR Platform from a participating supplier, where the recall notice identifies the supplier's recalled product, the PR Platform may match the recalled product against transaction data accumulated from participating merchant's transactions in order to locate those participating account holders who had purchased the recalled product. For each such match, contact information about the matching participating account holders may be used to send a notice. This notice may identify the recalled product and may contain a product recall message from the supplier to the account holders who had purchased the recalled product. The notice may also contain a request from the supplier to the account holders to return the product for a refund, for instance, by providing a phone number or e-mail address for account holders to contact the supplier or its agent. The notice may also provide an Internet address, which may be hosted by the PR Platform, at which the account holders may give and receive information about the recalled product. Such data, as was given to and received from account holders, may then be passed on to the supplier, or its agent, by the PR Platform. [0026] Advantageously, the PR Platform need not make contact with a participating merchant every time a recall happens, and the merchant's acquirer need not be required to gather and match data against account holders who purchased a recalled product from the merchant. Rather, the merchant may send, for delivery to the PR Platform, transaction data information for items purchased in transactions by account holders, regardless of whether each such item has been recalled. Upon receipt, the PR Platform stores such transaction data along with data sufficient to identify, and derive contact information for, each account holder that is privy to each such transaction.
[0027] When a participating supplier announces a product recall to the PR Platform, there is no need to contact either the merchant or its acquirer in order to provide effective notice to the relevant account holders who had previously purchased the recalled product. As such, network traffic to both the merchant and its acquirer are not substantially increased by each product recall. Moreover, implementation costs to the acquirer are not substantial in working with the PR Platform to facilitate product recall notices to account holders. [0028] Participating merchants acquire data at the time of each transaction with each account holder. The acquired data may be sufficient to identify both the account holder and each item purchased in the transaction. Such data may include, for the account holder, an account identifier issued by an issuer to the account holder, a transaction identification number (TID) for the transaction, the date and time of the transaction, a Point of Service terminal (POS) identifier, etc. Such data may include, for the item being purchased in the transaction, 'level three' data, product level data, or other data such as a Stock Keeping Unit (SKU), a Universal Product Code (UPC), a supplier's serial number, a supplier's batch and lot identifier, date and location of manufacture, etc. [0029] These POS data may be sent directly to the PR Platform, or may be sent for delivery to the PR Platform via the merchant's acquirer and a transaction handler. These POS data may be sent in real time, or periodically in batch mode, and need not be part of a clearing and settlement process for the collection of the merchant's payment for a transaction. [0030] The PR Platform may provide an incentive for account holders to be loyal to those merchants who receive and send such product level data as it enables account holders to enrich their participation in the PR Platform. Similarly, suppliers may be more favorably disposed to such merchants, or their acquirers, because of their capabilities as PR Platform participants. [0031] In the event that a participating account holder has one or more accounts that are closed or otherwise become unusable for future transactions, the PR Platform can be so notified of such an event by its account holder, by its issuer, or by a credit rating service (i.e., Experian, TransUnion, Equifax, etc.) that keeps credit histories based on social security numbers or other globally unique identifiers for consumers. Also, the PR Platform may detect inactivity in the account for a predetermined time threshold. In such cases, the PR Platform may attempt to contact the participating account holder to continue the recall service, and retain the accumulated data about products purchased by the account holder, despite the closing or lack of future usefulness of the account holder's account.
[0032] In one implementation, an account holder can self register with the PR Platform for some or all of the accounts that they hold such that the respective issuers of these accounts need not register the account holder with the PR Platform. Moreover, the account holder can continually update the PR Platform with purchases of products made at non-participating merchants, as well as continually updating their contact information along with chronologically opened and closed account information. These updates enable the PR Platform to retain product purchase information about the participating account holder which can be used to timely notice of product recalls to participating account holder. Self registration by an account holder, and ongoing maintenance of account holder information, can be accomplished, for instance, by an online registration service, such as at a website hosted by the PR Platform or its agent. Accordingly, self registration allows an account holder to be free of its issuers and still be notified of about its purchased products that have been recalled, even if the account holder no longer has a banking relationship with an issuer who issued an account to the account holder upon which a recalled product was purchased. Accordingly, and for example, such an account holder may receive a product recall notice many years after the recalled product was purchased by the account holder, even though the account used by the account holder to purchase the product was closed many year ago. Advantageously, data acquired and maintained by the PR Platform may be mined for other purposes beneficial to registered participants with the PR Platform. For instance, a participating supplier may want to send a notice of all participating account holders residing in a particular geographic area who have purchased its participating products, such as to announce a special event at on a particular date and time in that geographic area.
[0033] In one implementation, the PR Platform may facilitate demographic, location and temporal data acquisition and analysis. For example, one or more analyses of the acquired data from manufacturers, issuers, merchants, acquirers and/or account holders may be utilized for targeting consumers, and product batch tracking. In another implementation, the PR Platform may recognize consumers who make numerous purchases of the same item, and may identify such consumers as secondary retailers. The PR Platform may then prompt such secondary retailers to utilize the facilities of the PR Platform for their customers to facilitate recall tracking and notification. In another implementation, the PR Platform may facilitate coordination and analysis of multiple data sets. For example, a user may register a product with a manufacturer for rebate, warranty, promotion or other purposes. The PR Platform may carry out reconciliation of data sets from the manufacturer, user or other parties to ensure that the user does not get duplicate or multiple recall notifications. As such, the PR Platform may perform various functions and serve in various capacities. [0034] In one implementation, a web-based registration system could be used for suppliers to provide the information on the recalled products (e.g., SKU/UPC code, etc.) and the recall notification message contents. Other entities may also use this web-based system to register their participation in the PR Platform, as well as for other services such as receiving reports made available via this interface (e.g., related billing and operational information pertaining to PR Platform participants). [ Ο Ο35] Issuers may register their account holders and acquirers may register their merchants for participation in a PR Platform via a network interface. Participating merchants may send product level data for some or all items for some or all transactions to the PR Platform via a network interface. For example, product level data may be sent from the participating merchant to its acquirer for forwarding to transaction handler and from the transaction to the PR Platform, where the transaction may be authorized, cleared, and settled in a payment processing system. [0036] Participating suppliers may submit product identifiers of recalled products along with verbiage to be provided to account holders or consumers ('return -to' or 'contact-us' information) via the PR Platform. To do so, a supplier may submit an identifier for each product, such as an SKU/UPC, serial number, etc. Alternatively, each such identifier may be submitted either before or after the corresponding product is recalled. The supplier may also provide verbiage to be provided to account holders (i.e.; return-to, contact-us information, etc.)
[0037] The PR Platform may work in conjunction with the transaction handler to match the product identifier for a recalled product against the product level data accumulated from transactions between merchants and account holders. With the finding of the recalled product matches in the transaction data, the PR Platform, working in conjunction with the transaction handler, may derive and use other information from the matching transaction data. For instance, by mining the matching transaction data, the PR Platform may assign Globally Unique Identifiers (GUIDs) that characterize and specify the product recall. For instance, the particular product(s) that were purchased by a particular account holder may each be assigned a recalled product GUID. The particular transaction in which the particular product(s) were purchased by the particular account holder may be assigned a transaction GUID. The particular merchant that sold the particular product(s) to that particular account holder can be assigned a merchant GUID. The particular location at which the particular merchant sold the particular product(s) to the particular account holder may be assigned a merchant location GUID. Each such GUID can be communicated to the particular account holder and/or the supplier. Upon receipt, the GUIDs may be used by a supplier of a recalled product to take measures to limit personal injury and property damage.
[ o o 38 ] A notice may sent to each issuer having one or more accounts upon which there had been a transaction conducted for the purchase of a product with a matching product identifier of a recalled product. The notice sent to the issuer may contain recall notification verbiage provided by the supplier for delivery to the issuer's account holders who conducted the corresponding transactions for the purchase of a recalled product, and may also include the recalled product GUID.
[0039] The recall notification verbiage is sent from the issuers to their respective account holders who conducted the corresponding transactions for the purchase of a recalled product, and may also include a respect recalled product GUID. The recall notification verbiage can be sent to each account holder via statement message, e-mail, direct mail, text or web message, or other method.
[0040] The transaction handler, the PR Platform, or their agent, may collect a fee from the supplier for product recall message delivery services and may distribute all or respective portions thereof to each participating entity that assisted in the product recall message delivery service. By way of example, the fee can be a product recall service fee that is collected from a supplier of a product that has been recalled product. A portion of each such product recall service fee may be paid to each issuer who had issued an account that was used by an account holder to purchase the corresponding recalled product. The issuer may send a recall notice to each such account holder, where the fee received by the issuer may be deemed to be compensation for such product recall notifications to its account holders. [0041] Each account holder may access a PR Platform network interface to send data to and receive data from the supplier and/or the PR Platform which may pertain to a previously purchased recalled product. By way of example, and not by way of limitation, the account holder may use a web-enabled device to access the PR Platform network interface via the Internet, such as via a user interface having an interactive display screen. Such access by the account holder may require the input of the recalled product GUID as received in the product recall notice. [0042] The PR Platform may facilitate registration from (i) suppliers; (ii) from account holders; and (ii) from merchants and/or from acquirers for their participating merchants. Registered merchants may send data from transactions with account holder, where each transaction is authorized, cleared, and settled in a payment processing system. The data from these transactions may be sufficient to identify: account holders to the PR Platform, with an option to send these data to the PR Platform via the merchant's acquirer and the transaction handler, or with an option where the merchant may send these data directly to the PR Platform. The registered merchants may send transaction data that identifies purchased items for, an option where all items in all transactions, an option where some items of the items in all transactions, or an option wherein some of the items in some of the transactions. In one implementation, only some items may be 'participating' items in a product recall service, where participating item are so qualified, for instance, by: product level data received by the merchant at the merchant's POS such that these data may be sent to the PR Platform, by a participating entity (i.e.; a supplier, an account holder, a merchant, an issuer) who requested that transactions for the purchase of certain items be tracked by the PR Platform, a governmental agency required that transactions for the purchase of certain items be tracked by the PR Platform, and/or the like. [0043] Participating suppliers may submit product identifiers of recalled products along with verbiage to be provided to account holders consumers ('return -to' or 'contact-us' information) to a network interface for the PR Platform. To do so, a supplier may submit an identifier for each product, such as an SKU, UPC, serial number, etc. Alternatively, each such identifier may be submitted either before or after the corresponding product is recalled. The supplier may also provide verbiage to be provided to account holders (i.e.; return-to, contact-us information, etc.)
[0044] The PR Platform may work in conjunction with the transaction handler to match the product identifier for a recalled product against the product level data accumulated from transaction between merchants and account holders. With the finding of the recalled product matches in the transaction data, the PR Platform, working in conjunction with the transaction handler, may derive and use other information from the matching transaction data. For instance, by mining the matching transaction data, the PR Platform may assign Globally Unique Identifiers (GUIDs) that characterize and specify the product recall. For instance, the particular product(s) that were purchased by a particular account holder may each be assigned a recalled product GUID. The particular transaction in which the particular product(s) were purchased by the particular account holder may be assigned a transaction GUID. The particular merchant that sold the particular product(s) to that particular account holder may be assigned a merchant GUID. The particular location at which the particular merchant sold the particular product(s) to the particular account holder may be assigned a merchant location GUID. Each such GUID can be communicated to the particular account holder and/or the supplier.
[0045] A notice may be sent to each matching participating account holder from the PR Platform who has conducted a transaction on an account for the purchase of a product with a matching product identifier of a recalled product. The notice sent to the account holder may contain recall notification verbiage provided by the supplier for delivery to the account holder who conducted the corresponding transaction for the purchase of a recalled product, and may also include a respect recalled product GUID. The recall notification verbiage may be sent to each account holder via statement message, e-mail, direct mail, web message or other method. The recall notification verbiage may be received by the respective account holders who conducted the corresponding transactions for the purchase of a recalled product.
[0046] Alternatively, the recall notification verbiage may also include an identifier that uniquely identifies the account holder to whom the recall notification verbiage was sent, also known as the account holder's Globally Unique Identifier (GUID). When the account holder contacts the PR Platform, the account holder's GUID may be supplied to the PR Platform so that the PR Platform can associate the account holder with a product that had been recalled. The PR Platform may also send the account holder's GUID to the supplier of the recalled product. As such, the supplier may be able to associate the account holder, via the account holder's GUID, with the supplier's product that had been recalled and was purchased by the account holder.
[0047] Each account holder may access a PR Platform network interface to send data to and receive data from the supplier and/or the PR Platform which may pertain to a previously purchased recalled product. By way of example, and not by way of limitation, the account holder may use a web-enabled device to access the PR Platform network interface via the Internet, such as via a user interface having an interactive display screen. Such access by the account holder may require the input of the recalled product GUID as received in the recall notice. The transaction handler, the PR Platform, or their agent, may collect a fee from the supplier for product recall message delivery services and distributes all or respective portions thereof to each participating entity that assisted in the product recall message delivery service.
[0048] An exemplary interactive user interface display screen may be accessible for an account holder to access the PR Platform network interface via the Internet. With the finding of the recalled product matches in the transaction data, the PR Platform, working in conjunction with the transaction handler, may derive and use other information from the matching transaction data. For instance, by mining the matching transaction data, the PR Platform may assign Globally Unique Identifiers (GUIDs) that characterize and specify the product recall. These data may then be communicated with the account holder, the supplier, etc. For instance, the particular product(s) that were purchased by a particular account holder can each be assigned a recalled product GUID for rendering on the display screen. The particular transaction in which the particular product(s) were purchased by the particular account holder can be assigned a transaction GUID for rendering on the display screen. The particular merchant that sold the particular product(s) to that particular account holder can be assigned a merchant GUID for rendering on the display screen. The particular location at which the particular merchant sold the particular product(s) to the particular account holder can be assigned a merchant location GUID for rendering on the display screen. [0049] The account holder may input a personal injury report and/or a property damage report on the display screen. With receipt of input from the account holder on the display screen, the PR Platform may assign a recalled product incident GUID that is communicated for future reference to the supplier. Optionally, the account holder's GUID may be auto-populated or can be supplied as input the account holder. Recalled product supplier verbiage, and an image of the recalled product, as may be suggested by the supplier of the recalled product, may be rendered on the display screen. A user of a web-enable device that renders the display screen may scroll the rendered imaged horizontally by using virtual navigation tool and vertically by using virtual navigation tool as in common in interactive applications. [0050] Payment processing system has a plurality of accounts each of which is held by a corresponding account holder. A transaction may include participation from different entities that are each a component of the payment processing system. The payment processing system may have a plurality of merchants. Payment processing system may include account user. Each account user may conduct a transaction with merchant for goods and/or services using the account that has been issued by an issuer to a corresponding account holder. Data from the transaction on the account may be collected by the merchant and forwarded to a corresponding acquirer. Acquirer may forwards the data to transaction handler who may facilitate payment for the transaction from the account issued by the issuer to account holder. Payment processing system may include a plurality or transaction handlers (not shown) for respective acquirers and issuers, each participating in one or more product recall services or the same product recall service. [0051] Payment processing system may have a plurality of issuers. Each issuer may be assisted in processing one or more transactions by a corresponding agent issuer. Payment processing system may have a plurality of acquirers. Each acquirer may be assisted in processing one or more transactions by a corresponding agent acquirer.
[0052] The transaction handler may process a plurality of transactions within the payment processing system. The transaction handler may include one or a plurality or networks and switches (e.g., a mainframe computer). Dedicated communication systems may facilitate communication between the transaction handler and each issuer and each acquirer. The Network, via e-mail, the World Wide Web, cellular telephony, and/or other optionally public and private communications systems, can facilitate communications among and between each issuer, each acquirer, each merchant, each account holder, and the transaction handler. [0053] Merchant may be a person or entity that sells goods and/or services. Merchant may also be, for instance, a supplier, a distributor, a retailer, a load agent, a drugstore, a grocery store, a gas station, a hardware store, a supermarket, a boutique, a restaurant, a doctor's office, and/or the like. The merchant may conduct business online (e.g., AMAZON, E-BAY, etc.), may be a store front business (e.g., MACYS, WHOLE FOODS, etc.) or both. In a business-to-business setting, the account holder may be a second merchant making a purchase from another merchant. Merchant may utilize at least one point-of-interaction terminal (e.g., Point of Service, browser enabled consumer cellular telephone, tablets, computers, mobile devices, and/or the like) to communicate with the account user, the acquirer, the transaction handler, or the issuer. The point-of- interaction terminal may be in operative communication with the payment processing system. [0054] The portable consumer device may be in a form factor that may be a payment card, a gift card, a smartcard, a smart media, a payroll card, a healthcare card, a wrist band, a machine readable medium containing account information, a keychain device, such as a SPEEDPASS® device commercially available from ExxonMobil Corporation, a supermarket discount card, a cellular telephone, personal digital assistant, a pager, a security card, an access card, a wireless terminal, or a transponder. The portable consumer device may include a volatile or non-volatile memory to store information such as the account number or an account holder's name. [0055] Merchant may use the point-of-interaction terminal to obtain account information, such as a number of the account of the account holder, from the portable consumer device. The portable consumer device may interface with the point-of- interaction terminal using a mechanism including any suitable electrical, magnetic, or optical interfacing system such as a contactless system using radio frequency or magnetic field recognition system or contact system such as a magnetic stripe reader. The point-of-interaction terminal sends a transaction authorization request to the issuer of the account associated with the portable consumer device. Alternatively, or in combination, the portable consumer device may communicate with issuer, transaction handler, or acquirer. [0056] Issuer may authorize the transaction and forward same to the transaction handler. Transaction handler may also clear the transaction. Authorization may include issuer, or transaction handler on behalf of issuer, authorizing the transaction in connection with issuer's instructions such as through the use of business rules. The business rules may include instructions or guidelines from the transaction handler, the account holder, the merchant, the acquirer, the issuer, a related financial institution, or combinations thereof. The transaction handler may maintain a log or history of authorized transactions. Once approved, the merchant may record the authorization, allowing the account user to receive the good or service from merchant or an agent thereof. [0057] The merchant may, at discrete periods, such as the end of the day, submit a list of authorized transactions to the acquirer or other transaction related data for processing through the payment processing system. The transaction handler may compare the submitted authorized transaction list with its own log of authorized transactions. The transaction handler may route authorization transaction amount requests from the corresponding the acquirer to the corresponding issuer involved in each transaction. Once the acquirer receives the payment of the authorized transaction from the issuer, the acquirer may forward the payment to the merchant less any transaction costs, such as fees for the processing of the transaction. If the transaction involves a debit or pre-paid card, the acquirer may choose not to wait for the issuer to forward the payment prior to paying merchant.
[0058] There may be intermittent steps in the foregoing process, some of which may occur simultaneously. For example, the acquirer may initiate the clearing and settling process, which can result in payment to the acquirer for the amount of the transaction. The acquirer may request from the transaction handler that the transaction be cleared and settled. Clearing may include the exchange of financial information between the issuer and the acquirer and settlement includes the exchange of funds. The transaction handler may provide services in connection with settlement of the transaction. The settlement of a transaction includes depositing an amount of the transaction settlement from a settlement house, such as a settlement bank, which transaction handler typically chooses, into a clearinghouse, such as a clearing bank, that acquirer typically chooses. The issuer may deposit the same from a clearinghouse, such as a clearing bank, which the issuer typically chooses, into the settlement house. Thus, a typical transaction may involve various entities to request, authorize, and fulfill processing of the transaction. [ 0059 ] The payment processing system may have network components suitable for scaling the number and data payload size of transactions that may be authorized, cleared and settled in both real time and batch processing. These include hardware, software, data elements, and storage network devices for the same. Examples of payment processing system include those operated, at least in part, by: American Express Travel Related Services Company, Inc; MasterCard International, Inc.; Discover Financial Services, Inc.; First Data Corporation; Diners Club International, LTD; Visa Inc.; and agents of the foregoing. [ 0060 ] The payment processing system may include data centers for processing transactions, where each transaction may include up to 100 kilobytes of data or more. The data corresponding to the transaction may include information about the types and quantities of goods and services in the transaction, information about the account holder, the account user, the merchant, tax and incentive treatment(s) of the goods and services, coupons, rebates, rewards, loyalty, discounts, returns, exchanges, cash-back transactions, etc. [ 0061] Transaction handler may store information about transactions processed through payment processing system in data warehouses such as may be incorporated as part of the plurality of networks/ switches. This information may be data mined. The data mining transaction research and modeling can be used for advertising, account holder and merchant loyalty incentives and rewards, fraud detection and prediction, and to develop tools to demonstrate savings and efficiencies made possible by use of the payment processing system over paying and being paid by cash, or other traditional payment mechanisms. [0062] The PR Platform, via the network, may facilitate real time alerts that may be generated from POS transactional data and prior registrations of account holders with the PR Platform. These 'e-alerts' may provide both consumer safety and limitations on products liability of manufacturers, and suppliers such as distributors and wholesalers, and retailers by providing real time warnings. Each such warning may include information about defective and dangerous products that have been purchased by a consumer, and the warning or e-alert may be electronically delivered to a logical address of the consumer or the issuer of an account of the consumer, such as via a cellular telephone or a mobile web enable computing device. PR Platform
[0063] FIGURE 1 shows a diagram illustrating an example consumer product recall in some embodiments of the PR Platform. For example, a user 110 may purchase a product 120 from a store 125. The user may make a payment 115 using a payment device such as a debit card, a credit card, a check, mobile phone, cash, and/or the like. The store 125 may be an online store accessible over a communication network 130, or may be a physical retailer. The purchased item 120 may then be delivered to the user 110 or the user 110 may pick it up from the retail store. The manufacturer of the product 120 may discover a fault with the product, and may issue a consumer recall, requesting consumers who purchased the product to return it to the manufacturer. The PR 1 Platform may in such situations facilitate an expedient, timely and targeted recall of the
2 product.
3 [0064] FIGURES 2(a) and 2(b) show block diagrams illustrating recall issuance
4 procedures in some embodiments of the PR Platform. In one implementation, as shown
5 in Figure 2(a), the manufacturer 210a may at 220a identify one or more safety issues
6 with a product sold to consumers. The manufacturer may then notify the Consumer
7 Product Safety Commission (CPSC) of the safety issue(s) at 225a. More than 15,000
8 consumer products sold in the United States are under the jurisdiction of the CPSC. The
9 CPSC is responsible for protecting consumers from unreasonable risks of injury and
10 death associated with consumer products. Recall in jurisdictions other than the United
11 States may involve organizations or entities other than the CPSC. For example, recalls in
12 the European Union may be overseen by Consumer Affairs.
13 [0065] The CPSC may undertake an evaluation of the product's level of risk and
14 defect at 230a. This process may take up to several weeks. The CPSC may notify the
15 manufacturer of conclusion from the evaluation of the product at 240a. However, the
16 manufacturer may not necessarily agree with the CPSC's conclusion. The manufacturer
17 may then implement a recall from consumers 205a at 235a based on the CPSC's
18 conclusion.
19 [ o o 66 ] In an alternate implementation, as shown in Figure 2(b), the manufacturer
20 210b may identify one or more safety issues with a product sold at 225b, and instead of
21 relying on the CPSC's evaluation, the manufacturer may implement a voluntary recall at
22 after notifying the CPSC 215b at 230b of the safety issue(s). This fast track process may
23 speed up the process and give the manufacturer more control over what and how information is presented to the consumers. The manufacturer may devise and present an action plan to the CPSC at 240b. The action plan may be approved, denied or revised by the CPSC at 245b. Using the action plan, the manufacturer may implement the voluntary recall from consumers 205b at 250b. The manufacturer may also notify State and local health officials as necessary or required. [0067] FIGURE 3 shows a diagram illustrating types of products recalled in some embodiments of the PR Platform. Example consumer products recalled fall into categories such as children's items, computer and electronics, sports, outdoors, and recreation, vehicles, tractors and motorsports, hardware, tools and building supply, home and garden, other items such as books, clothing, etc., and/or the like. These items may fall under the CPSC's jurisdiction. Other items such as food, drugs, cosmetics, motor vehicles, vehicle equipment, car seats, boats, environment products (e.g., pesticides), etc., are usually not under CPSC's jurisdiction, but their recall may be facilitated by the PR Platform. [0068 ] Recent trends and statistics indicate that product recalls are on the rise, with the average number of product recalls increasing by 28 per year. In addition, each instance of a product recall may involve a few hundred to millions of product units. Particularly in some product categories such as children's products (e.g., children's jewelry and toys), any safety issue may require immediate consumer notification and consumer action. In such situations, the PR Platform may facilitate consumers by providing immediate targeted notification, and the manufacturer or supplier by assisting in a responsible and effective recall. [ 0069 ] FIGURE 4 shows a data flow diagram illustrating an example recall in some embodiments of the PR Platform. In one implementation, a merchant 415 may conduct a sale transaction at the POS terminal 425 by scanning or entering at 445 product barcodes 430. In another implementation, a sale transaction may be made online. The merchant may then send all or a portion of the transaction information to the PR Platform at 450. In one embodiment, the transaction information may include product information (e.g., identifiers such as Product ID, Stock Keeping Unit (SKU) code, Universal Product Code (UPC) code, Price Look Up (PLU) code, a supplier's serial number, a supplier's batch/lot identifier, date and location of manufacture, model number and/or the like), billing address, shipping address, payment information, transaction ID (TID) associated with the payment transaction, and/or the like. In another implementation, an accountholder or buyer 405 may purchase a product, and may capture the product information 430 by a scan or data entry 440 using a computer, a mobile device 435, etc. The product information, along with any other transaction information may be sent to the PR Platform directly by the account holder at 450. [ 0070 ] The manufacturer 410 who wishes to recall one or more products may send recall notice 455 to the PR Platform. The recall notice may include information such as, but not limited to: product ID, SKU code, UPC code, serial number, batch/lot identifier, date and location of manufacture, model number, and/or the like. The recall notice may also include a recall message to the consumer. Such recall message may inform the consumer about reasons for recall, where to find more information about the recall, contact information, procedure for returning the recalled items, and/or the like. The PR Platform may then forward notification information 460 to the issuer 420, 1 which may send recall message 465 to account holder. The notification information may
2 include product information, recall message, account holder information, and/or the
3 like. Similarly, the recall notification may include product information, recall message
4 and/or the like.
5 [ 0071] FIGURE 5 shows a data flow diagram illustrating example recall party
6 enrollment in some embodiments of the PR Platform. As discussed in Figure 4, in one
7 embodiment, implementing a product recall may involve parties including a merchant
8 515, an acquirer 525, an issuer 520 and a manufacturer 510. One or more of the parties
9 may register to access the facilities provided by the PR Platform 501 via web-based0 registration 535 over a communication network 545. In some implementations, the1 registration may involve providing identifying information, agreeing to the terms and2 conditions, paying a nominal fee, and/or the like. 3 [ 0072 ] In one implementation, consumers or account holders 505 may also4 register to participate in the recall facilities provided by the PR Platform. Consumers5 may utilize web-based registration 540 using a client device 530 to provide identifying6 information, notification preferences, user name, password, accept terms and7 conditions, pay a nominal fee, and/or the like. Consumers may also download and8 install an application module, which upon the first instance of execution, may request9 identifying information, user name, password, preferences, and/or the like. The0 requested information may be sent to the PR Platform server. The PR Platform may1 receive registration data from the merchant, acquirer, issuer, manufacturer and/or2 consumer and in response, create corresponding records in one or more tables or3 databases. [0073] FIGURE 6 shows a data flow diagram illustrating example Transaction ID (TID) based recall notification component in some embodiments of the PR Platform. In one embodiment, a manufacturer or supplier 610 initiates a recall by sending a recall initiation request 630 to the PR Platform 601. The recall initiation request may be in the form of a Secure Hypertext Transfer Protocol ("HTTP(S)") POST message including manufacturer identifying information and recall information in the form of data formatted according to extensible Markup Language ("XML"). An example, HTTP(S) POST message including an XML-formatted recall initiation request may take the following form: POST /signup. php HTTP/1.1
Host: http://buybuytrade.com/affliate/recallinit.pYt
Content-Type: Application/XML
Content-Length: 1306
<?XML version = "1.0" encoding = "UTF-8"?>
<recallinit_info>
<manfacturer_ID>Sitaelectronics</manufacturer_ID>
<timestamp>2011-02-22 15 : 22 : 43</timestamp>
<login_details>
<username>genmanager</username>
<password>guessl23</password>
</login_details>
<product_details>
<product_SKU>9693508</product_SKU>
<product_model>NP-R2003</product_model>
<product_name>Sita 200W Stereo Receiver</product_name>
<affectedlot>1345633-15650000</affectedlot>
<affected_geocode>NY, LA, CO</affected_geocode>
</product_details>
<contact_details>
<importer>Buybuy Trade International Inc</importer>
<contact_id>Buybuy Trade International Inc</contact_id>
<phone>8003394467</phone>
<contact_time>8 am to 8 pm</contact_time>
<contact_day>Monday to Friday</contact_day>
<website>www . buybuytrade . com/ infoaboutrecallprocess . html</website> </contact_details>
<recall_details>
<hazard>a wiring problem can cause the stereo receiver to overheat or break during normal use, damaging the stereo receiver and posing fire hazards</hazard>
<incidents>Buybuy Trade International has received 5 reports of fire resulting in property damage</ incidents>
<description>The recall involves ...</description>
<sold_location>www . newegg . com</ sold_location>
<sold_dates>January 2008 to March 2010</sold_dates> <remedy>Consumers should immediately stop using the stereo receiver and contact Buybuy Trade International Inc. for a free replacement stereo receiver or a full refund</remedy>
</recall_details>
<notification_details>
<template>buybuytemplate . htrnK/ template>
<confirmation_type>web beacon</confirmation_type> </notification_details>
</recallinit info>
[0074] As shown above, the XML-formatted recall initiation request from a merchant may include manufacturer and/or supplier information, manufacturer and/or supplier login credentials, product details including SKU/UPC code, model, product name, etc., contact details including manufacturer and/or supplier name, contact phone number, website, contact days/hours, etc., recall details including hazards, incidents, locations where products were sold, time during which products were sold, notification details including template in which recall information will be sent to consumers, type of confirmation requested from consumers, etc., as well as any other information pertinent to the recall of the product. [0075] The recall initiation request 630 may be received by the PR Platform. In one implementation, the PR Platform 601 may create entries in one or more databases and/or tables using all or a portion of information extracted from the recall initiation request. An exemplary query, written substantially in the form of Python/PHP/SQL commands to store recall details in a recall database, is provided below: <?PHP
header (' Content-Type : text/plain');
mysql_connect ( " 123.12.123.123", $DBserver, $password) ; // access database server mysql_select ( "RECALL . SQL" ) ; // select database to append
mysql_query ("INSERT INTO RECALLTABLE (timestamp, product_SKU, hazard,
incidents, description, sold_location, sold_dates, remedy)
VALUES (time ( ) , $product_SKU, $hazard, $incidents, $description, $sold_location, $sold_dates, $remedy) ; // add data to table in database
mysql_close ( "RECALL . SQL" ) ; // close connection to database
[0076] The PR Platform may extract recalled product information from the received recall initiation request and may package the extracted information into a HTTP(S) POST message 635. The HTTP(S) POST message including XML-formatted recalled product information may be sent to the acquirer 625. The acquirer may further forward the received recalled product information 640 to a merchant 615. The merchant, upon receiving the recalled product information 640 may determine at 645 if any of the recalled products have been sold to consumers. If the recalled products have been sold to consumers, the merchant may look up transaction ID (TID) associated with the recalled product sale at 650. In one implementation, a TID or a token is assigned to each transaction during authorization. TID may be produced by hashing cardholder data (e.g., PAN) with a transaction-unique value as well encryption via one or more encryption algorithms. TID may also be produced by any other methods as long as the resulting token is a unique value and the original account holder data (e.g., PAN) cannot be reproduced. The identified TID associated with the recalled product sale may be packaged into an HTTP(S) POST message and may be sent to the acquirer 625 at 655. An exemplary TID message may have the following XML formatting: POST /signup. php HTTP/1.1
Host: http://visal23.com/tid.pyt
Content-Type: Application/XML
Content-Length: 1306
<?XML version = "1.0" encoding = "UTF-8"?>
<recall_response>
<product_details>
<product_SKU>9693508</product_SKU>
<product_model>NP-R2003</product_model>
<product_name>Sita 200W Stereo Receiver</product_name>
</product_details>
<tid_details>
<tid_l>
<tid_num>AB4567543FT</tid_num>
<serial_num>NS23324980</serial_num>
<transaction_date>May 1 2007 to April 30
2009</transaction_date>
<merchant_geocode>06902 , 10112</merchant_geocode>
</tid_l>
<tid_2>
<tid_num>A456V7599FT</tid_num>
<serial_num>NS23328765</ serial_num>
<transaction_date>August 2007 to May 30
2009</transaction date> <merchant_geocode>06902, 10112, 06511,
10280</merchant_geocode>
</tid 2>
</tid_details>
</recall_response>
[0077] The acquirer 625 may forward the TID message from the merchant 615 to the PR Platform 601 at 660. The PR Platform 601 may receive the TID message from the acquirer 625 and utilize the TID information to determine account number (s) associated with the TID for notification at 665. The PR Platform 601 may also determine or look up from one or more databases and/or tables any other information related to the consumer associated with the TID. Examples of consumer information may include payment device identifier (e.g., bank card number, credit or debit card number, prepaid card number, bank account number, etc.), buyer ID, mobile device ID, name, address, shipping address, email address, and/or the like. The PR Platform 601 may then package the identified account numbers and/or other consumer information associated with the TID of recalled product purchases, along with the recall information received from the manufacturer 610 in a notification message 670 for delivery to the issuer 620. The issuer 620 may be identified using the consumer information. An example, HTTP(S) POST message including an XML-formatted notification message 670 may take the following form: <notification_info>
<consumer_info>
<card_number>5657878756454654</card_number>
<card_type>Visa</card_type>
<user_id>Chase_smarinko</user_id>
</consumer_info>
<recall_info>
<product_details>
<product_SKU>9693508</product_SKU>
<product_model>NP-R2003</product_model>
<product_name>Sita 200W Stereo Receiver</product_name> <affectedlot>1345633-15650000</affectedlot>
<affected_geocode>NY, LA, CO</affected_geocode>
</product_details>
<contact details> <importer>Buybuy Trade International Inc</importer>
<contact_id>Buybuy Trade International Inc</contact_id> <phone> 80033944 67</phone>
<contact_time>8 am to 8 pm</contact_time>
<contact_day>Monday to Friday</contact_day>
<website>www . buybuytrade . com/ infoaboutrecallprocess . html </website>
</contact_details>
<recall_details>
<hazard>a wiring problem can cause the stereo receiver to overheat or break during normal use, damaging the stereo receiver and posing fire hazards</hazard>
<incidents>Buybuy Trade International has received 5 reports of fire resulting in property damage</incidents>
<description>The recall involves ...</description>
<sold_location>www . newegg . com</ sold_location>
<sold_dates>January 2 008 to March 2 01 0</sold_dates>
<remedy>Consumers should immediately stop using the stereo receiver and contact Buybuy Trade International Inc. for a free
replacement stereo receiver or a full refund</remedy>
</recall_details>
<notification_details>
<template>buybuytemplate . htrnK/ template>
<confirmation_type>web beacon</confirmation_type>
</notification_details>
</recall_info>
</notification_info>
[0078] Upon receiving the notification message 670 identifying the account holders and recall information to be sent to the account holders, the issuer 620 may extract one or more pieces of account holder information (e.g., account number, account holder ID, email address, etc.) to look up one or more account holder preferences at 675. Examples of account holder preferences include preferred notification method (e.g., email, telephone call, SMS/MMS, mail, push notification, etc.), reminder settings, and/or the like. The issuer 620 may utilize the account holder preferences to format and send a recall message to associated account holders 6osa-c at 680. [0079] FIGURE 7 shows a logic flow diagram illustrating example transaction ID (TID) based recall notification component (TRN) in some embodiments of the PR Platform. At 730, a manufacturer 710, who is registered to use the facilities of the PR Platform, may log in to an account in the PR Platform website or may access an application installed on a client device. The manufacturer 710 may upload recall product 1 information (e.g., SKU/UPC code, product ID, etc.), recall message (e.g., instructions for
2 return, refund or replacement, hazards, safety issues, etc.), and any other information
3 pertinent to the recall to the PR Platform at 732. When the manufacturer submits the
4 information at 732, the submitted information is received at the PR Platform 701 at 736.
5 The PR Platform 701 may extract the recall product information (e.g., SKU/UPC,
6 product ID, etc.) by parsing the information received from the manufacturer 710, and
7 may send the extracted information to one or more acquirers 725 at 738. The acquirers
8 725 may forward the received recalled product information to one or more merchants
9 715 at 740. Each merchant 715 may receive the recalled product information at 742 and0 may extract UPC or SKU code for the recalled product. The merchant 715 at 744 may1 query one or more product, inventory or transaction databases and/or tables using the2 SKU/UPC code as a key to determine if the products that have been sold match the3 products being recalled. If at least one match is found at 746, the merchant 715 may look4 up TID corresponding to the transaction involving the recalled product at 748. The5 merchant 715 may look up TID information from one or more tables and/or databases.6 The identified TID may then be sent to the acquirer 725 at 750. On the other hand, if no7 match is found between the products sold and the recalled product at 746, the merchant8 may generate a null TID (e.g., a TID having a predetermined value corresponding to "no9 match"). Such a null TID may be sent to the acquirer 725 at 756. The acquirer 725 may0 in turn forward the received TID to the PR Platform 701 at 752. 1 [0080] The PR Platform 701 may receive the TID from the acquirer at 754. The PR2 Platform 701 may then determine if the TID received is a null TID at 758. If the TID3 received is a null TID, the PR Platform 701 may not proceed further. However, if the TID 1 received is not a null TID, the PR Platform 701 may query one or more databases and/or
2 tables using the received TID to determine account numbers associated with the TID at
3 760. In one implementation, consumer information other than or including account
4 numbers may be determined from the query at 760. In some alternate embodiments, an
5 issuer and/or merchant's database may be the source of the search for matches. If the
6 query yields a match at 761, using either the TID, account numbers or other consumer
7 information, associated issuers 720 may be identified at 762. If there are no matches
8 from the query, the process may conclude with an error or no match result 763. An
9 exemplary query written substantially in the form of Python/PHP/SQL commands to 0 identify consumer information is provided below: 1 <?PHP
2 header (' Content-Type : text/plain');
3 mysql_connect ("254.93.179.112", $DBserver, $password) ; // access database server4 mysql_select_db ( "USER . SQL" ) ; // select database table to search
5 //create query for user data
6 $query = "SELECT UID PaymentID FROM UserTable WHERE TID LIKE '%' $TID";
7 $result = mysql_query ( $query) ; // perform the search
8 querymysql_close ( "USER. SQL" ) ; // close database access
9 [0081] The PR Platform 701 may send a recall message including consumer 0 information such as account number to the issuer 720 at 764. The issuer 720 may 1 received the recall message and account number at 766 and retrieve consumer contact 2 information associated with the account number and preferences at 768. The issuer 720 3 may then re-package the recall message according to the consumer preference and 4 forward the recall message using the consumer's preferred notification method (e.g., 5 email recall message, telephonic recall message, recall push notification, SMS/MMS, 6 and/or the like). The account holder 705 may receive the recall message at 772,7 concluding the notification process at 774. 1 [0082] FIGURE 8 shows a data flow diagram illustrating example Product ID-
2 based recall notification in some embodiments of the PR Platform. In one embodiment,
3 a manufacturer or supplier 810 initiates a recall by sending a recall initiation request
4 830 to the PR Platform 801. The recall initiation request may be substantially similar in
5 format to the recall initiation request discussed with respect to FIGURE 6. The recall
6 initiation request 830 may be received by the PR Platform and may be parsed to extract
7 details of the recall.
8 [0083] In one embodiment, a merchant 815 may send product information for all
9 transactions 832 to the PR Platform 801. The product information may include SKU
10 level data, UPC data, product ID, and/or the like. The product information for all
11 transactions may be sent to the PR Platform 801 in real time, or in batches post
12 transaction. This implementation may not need to rely on merchant retention of
13 transaction information or merchant querying of data.
14 [0084] The PR Platform 801 may compare the product information for all
15 transaction 832 and the product information included in the recall initiation request
16 830. The PR Platform may then query payment processor 802 databases and/or tables
17 to identify account numbers associated with transactions involving recalled products at
18 834. The identified account numbers associated with transactions involving recalled
19 products 836 may be packaged into an HTTP(S) POST message and sent to an issuer
20 820 associated with the identified account numbers. At 840, the issuer 820 may identify
21 account holders associated with the identified account numbers. At 842, the issuer 820
22 may send recall notification to account holders. In one implementation, the notification
23 may be made using the account holder's preferred notification method. [0085] FIGURE 9 shows a logic flow diagram illustrating example Product ID- based recall notification component (PRN) in some embodiments of the PR Platform. In one implementation, at 930, a manufacturer 910, who is registered to use the facilities of the PR Platform, may log in to an account in the PR Platform website or may access an application installed on a client device. The manufacturer 910 may upload recall product information (e.g., product SKU, product UPC, product ID, etc.), recall message (e.g., instructions for return, refund or replacement, hazards, safety issues, etc.), and any other information pertinent to the recall to the PR Platform at 932. When the manufacturer submits the information at 932, the submitted information is received at the PR Platform 901 at 936. The PR Platform 901 may extract the recall product information such as the SKU code by parsing the information received from the manufacturer 910. [0086 ] At 938, a merchant 915, who is registered to use the facilities of the PR Platform, may log in to an account in the PR Platform website or may access an application installed on a client device. The merchant 915 may upload product codes such as SKU code, UPC code, product ID, and/or the like for all transactions at 940. In one implementation, the merchant platform may be configured to automatically transfer SKU codes of sold products to the PR Platform. In another implementation, the merchant may transfer the SKU codes in a batch mode or in real time. [0087] The PR Platform 901 may receive the transacted product SKU/UPC codes at 942 and the recalled product SKU/UPC codes at 936. At 944, the PR Platform 901 may query one or more tables and/or databases to determine if the recalled SKU/UPC product codes match the transacted SKU/UPC product codes. If there is no match at 1 945, the PR Platform 901 may conclude the process. However, if there is a match at 945,
2 the PR Platform 901 may query one or more tables and/or databases to identify a
3 payment device ID associated with the product SKU code at 946. The PR Platform 901
4 may also identify an issuer associated with the payment device ID at 948. Using the
5 payment device ID and the issuer information, the PR Platform 901 may create and send
6 a recall message from the manufacturer 910, along with the payment device ID, to the
7 issuer 920 at 950.
8 [0088] The issuer 920 may receive the payment device ID and recall message
9 from the PR Platform 901 at 952. The issuer 920 may then look up an accountholder
10 associated with the payment device ID, and may retrieve any notification preferences
11 selected by the account holder at 954. In one implementation, the issuer 920 may
12 format a recall notification message at 956 to include the recall message from the
13 manufacturer 910 and a trackable link. In another implementation, page tags or clear
14 GIFs may include of a small GIF or PNG image may be embedded in the content of an
15 email for tracking purposes to determine if the account holder received the email
16 notification. In yet another implementation, the account holder may be requested to
17 send an acknowledgement of receipt of recall notification (e.g., request a return
18 SMS/MMS, reply email or a read receipt, a delivery confirmation receipt, and/or the
19 like.). The formatted recall notification message may be sent to the account holder at
20 958. The account holder 905 may receive the message at 960 and may request
21 information about the recall (e.g., by clicking a URL, providing a user identifier or email
22 address, and/or the like). If the message link is activated or a recall information is
23 requested at 964, the issuer 920 may update a tracking database at 966 to indicate that the account holder and/or a device associated therewith has received the recall notification and has visited an information page (e.g., the manufacturer website where information about the recall is provided, FACEBOOK, TWITTER or other social networks, individual or company's TWITTER feed, and/or the like), which may conclude the notification process. On the other hand, if the message link is not activated within a certain time frame at 964, the issuer 920 may send a reminder recall notification message to the account holder 905. [ 0 089 ] The cost and implications of a recall to a manufacturer may be substantial. In one hand, there are direct costs associated with recall such as administration costs, shipping costs, fixing, replacing and/or disposing costs, communication, public relations and advertisement costs, inventory costs, lost sales of the recalled products, etc. On the other hand, indirect costs of a recall include government fines if a manufacturer fails to notify CPSC, legal expenses for defense or settlement, lost future sales, reputation and brand image impact and costs, stock price impacts, etc. The PR Platform provides a cost effective solution for implementing an effective and targeted product recall, while minimizing impact to the manufacturer and providing an additional source of revenue for acquirers, merchants, and/or issuers. [ 0090 ] FIGURE 10 shows a data flow diagram illustrating example revenue share in some embodiments of the PR Platform. A manufacturer 1010 may pay the PR Platform 1001 a fee of, for example, $i/recalled unit at 1030. In one implementation, where an issuer, an acquirer and a merchant are involved in the recall notification, the PR Platform 1001 may share a portion 1035 (e.g., $ 0.35/recalled unit) of the revenue from the manufacturer 1010 with an acquirer 1025, who in turn shares a portion 1040 (e.g., $0.i5/recalled unit) it received with merchant 1015. The PR Platform 1001 may also share a portion of the revenue 1045 (e.g., $o.3o/recalled unit) with the issuer 1020. [ 0091] In another implementation, a merchant and an issuer may be involved, without an acquirer. In such a situation, the PR Platform 1001 may share a revenue portion 1050 with the merchant 1015 and a revenue portion 1052 with the issuer 1020. The percent distribution of the revenue between the involved parties may be variable and may be determined based on prior agreements between the parties. Although, a single issuer, acquirer and merchant case is illustrated in FIGURE 10, multiple issuers, acquirers and merchants may be involved. In such cases, in one implementation, revenues may be distributed according to percent distribution by party type. For example, if 20 acquirers are involved and the acquirer revenue portion is 35%, each acquirer may receive 1.75%. In another implementation, revenue share may be allocated based on volume of TIDs associated with a recall, number of consumers involved in a recall, number of products involved in a recall, and/or the like for each issuer, acquirer and/or merchant involved in the recall. [ 0 092 ] FIGURE 11 shows a logic flow diagram illustrating example user-initiated recall notification component (URN) in some embodiments of the PR Platform. In situations where products are bought with cash, or when a merchant is not a participating merchant or when a user is interested in actively participating in the PR Platform, the user may utilize a product recall application ("PR app"). The PR app may be downloadable to a client device such as a computer, smart phone, portable devices, tablet, and/or the like. At 1130, a user 1105 may instantiate the PR app installed in a client device (e.g., by clicking or tapping on the PR app icon). At 1132, the user 1105 may scan a purchase (e.g., scan a receipt, product barcode, a web form, and/or the like). In one implementation, the PR app may be a web page, where the user would register and create a user account. The user may fill out a web form, type a product code such as SKU/UPC code, enter or select product name, upload a receipt, and/or the like. At 1134, the user 1105 may submit the purchase processing request. The submitted purchase processing request may be sent to the PR Platform 1101 as an HTTP(S) POST message formatted in XML. The purchase processing request including purchase information may be received by the PR Platform 1101 at 1136. An example XML formatted purchase processing request message may take the following form: <processing_request>
<user_info>
<UID>SMartin89</UID>
<password>storeyre</password>
<deviceid>iphone_AB564F</deviceid>
</user_info>
<product_info>
<productl>
<SKU>7884514</SKU>
<lotnum>JN0001 to AU5000</lotnum>
<geocode>10122 to 10280</geocode>
</productl_SKU>
<product2_SKU>
<SKU> 82 64 905</SKU>
<lotnum>AU6001 to AU7200</lotnum>
<geocode>06511 to 0 6902</geocode>
</product2_SKU>
<product3_SKU>
<SKU> 82 6504 9</SKU>
</product3_SKU>
</product_info>
</processin_request>
[0093] The PR Platform may extract at least the product information and a user identifier at 1138. The PR Platform may query a user table and/or database using the user identifier to find a record corresponding to the user. The user record may be updated to include the extracted product information at 1140. The product information may also be utilized to query a recall table and/or database at 1142. If a pending recall 1 for the purchased product is found at 1144, the PR Platform 1101 may retrieve recall
2 information associated with the recall product at 1146. The PR Platform 1101 may then
3 generate a recall notification message at 1147. If no pending recall exists for the
4 purchased product at 1144, the PR Platform 1101 may generate a notification message
5 indicating no current recall for the purchased product at 1148. The generated recall
6 notification message from 1146 or 1148 may be sent to the user 1105 at 1150. At 1152, the
7 user 1152 may receive the recall notification message indicating recalled or non-recalled
8 status of the purchased products and any other pertinent information.
9 [0094] FIGURES 12(a), (b), (c) and (d) show example application user interfaces
10 in some embodiments of the PR Platform. In one implementation, as shown in FIGURE
11 12(a), the PR app may be utilized to capture product information such as product
12 barcode 1210 using a mobile device having a camera. A user may simple instantiate the
13 PR app, point the camera of the mobile device at the barcode 1205 and click on "scan"
14 1215 to capture the barcode. Multiple products may be scanned one after another. The
15 PR app may process 1205 the captured barcode information to convert into product
16 information that may be easily read and understood by the user. For example, as shown
17 in FIGURE 12(b), the product information 1230 identifies products by name, model
18 number and SKU code. Information such as an image of the product and other types of
19 product ID may also be displayed. The user may have the option to select "Recall
20 Service" 1216 to instantiate product recall registration facilities or select "Purchase" 1218
21 to instantiate single click purchase further discussed with respect to FIGURES 13(a), (b)
22 and (c). [0095] As shown in FIGURE 12(c), the user may have the option to select or unselect items for recall tracking by checking or unchecking each item. FIGURE 12(b) shows that all three items have been checked as indicated by 1235 for product tracking. Before tapping the "save" 1232 option, the user may add or update "preferences" 1240. The user may also tap on the "back" button to go back to the scan screen of 12(a) to scan more items. The user may also tap on "cancel" 1234 to cancel the session. [0096] In one implementation, users may also capture an image of a purchase receipt, upload an e-receipt, search for items by name, model number, SKU/UPC code, and/or the like. In one implementation, a user may desire to scan a purchase receipt from a merchant (e.g., WALMART). The purchase receipt may include, for example, a vacuum cleaner, a baby formula, a carton of eggs, spinach and milk. These products may have different shelf life and warranties. For example, a vacuum cleaner is a long term purchase, usually having a warranty of at least a year, while a baby formula may have a shelf life of, e.g., two years before it expires. Groceries such as eggs, spinach and milk are perishable items that have a very short shelf life of less than a month. As such, not all of the products purchased may need to stored and checked for recall. In one implementation, the PR Platform may apply a pre-selection algorithm that applies one or more pre-selection rules to classify products according to one or more attributes (e.g., product type, shelf life, warranty, etc.) and pre-select items which should be monitored for recall. In a further implementation, the pre-selection algorithm may also determine the length of time during which items may be monitored for recall. For example, when grocery items are extracted from the purchase receipt, the pre-selection algorithm may designate the grocery items for short term recall monitoring (e.g., up to six months). After the completion of the term assigned, the PR Platform may stop monitoring for recall for the grocery items purchased. Similarly, baby formula for example, may be designated for medium term recall monitoring (e.g., up to 2 years), while a vacuum cleaner may be designated for long term monitoring (e.g., duration of the warranty period, up to 15-20 years, etc.). [0097] FIGURE 12(c) shows the "preferences" option that may be available to users. The user may set notification methods 1260 for communicating any recall notification. For example, as shown, a user may have the option of turning on or off email, phone, SMS, MMS, mail and push notification. As shown by 1270, email and push notification have been turned on by the user. The user may save any changes using the "save" button 1265, or may cancel any changes using the "cancel" button 1250. If any of the selected notification method does not have an associated entry (e.g., email is turned on but no email address has been provided), the PR app may automatically request the user to provide and/or verify an email address or turn the notification method off. [0098 ] FIGURES 13(a), (b) and (c) show example application user interfaces in some embodiments of the PR Platform. Specifically, the user interfaces illustrate example features of a one-tap mobile app in some embodiments of the PR Platform. In some implementations, the app may be configured to recognize product identifiers (e.g., barcodes, QR codes, etc.). In some implementations, the user may be required to sign in to the app to enable its features. Once enabled, the camera may provide in-person one tap purchasing features for the user. For example, the client device may have a camera via which the app may acquire images, video data, streaming live video, and/or the like, e.g., 303. The app may be configured to analyze the incoming data, and search, e.g., 1 301, for a product identifier, e.g., 304. In some implementations, the app may overlay
2 cross-hairs, target box, and/or like alignment reference markers, e.g., 305, so that a user
3 may align the product identifier using the reference markers so facilitate product
4 identifier recognition and interpretation. In some implementations, the app may include
5 interface elements to allow the user to switch back and forth between the product
6 identification mode and the product offer interface display screens (see, e.g., 306), so
7 that a user may accurately study the deals available to the user before capturing a
8 product identifier. In some implementations, the app may provide the user with the
9 ability to view prior product identifier captures (see, e.g., 307) so that the user may be0 able to better decide which product identifier the user desires to capture. In some1 implementations, the user may desire to cancel product purchasing; the app may2 provide the user with a user interface element (e.g., 308) to cancel the product identifier3 recognition procedure and return to the prior interface screen the user was utilizing. In4 some implementations, the user may be provided with information about products, user5 settings, merchants, offers, etc. in list form (see, e.g., 309) so that the user may better6 understand the user's purchasing options. Various other features may be provided for7 in the app (see, e.g., 310). s [0099] In some implementations, the app executing on the client device of the9 user may include an app interface providing various features for the user. In some0 implementations, the app may include an indication of the location (e.g., name of the1 merchant store, geographical location, information about the aisle within the merchant2 store, etc.) of the user, e.g., 311. The app may provide an indication of a pay amount due3 for the purchase of the product, e.g., 312. In some implementations, the app may provide various options for the user to pay the amount for purchasing the product(s). For example, the app may utilize the GPS coordinates to determine the merchant store within the user is present, and direct the user to a website of the merchant. In some implementations, the PR Platform may provide an API for participating merchants directly to facilitate transaction processing. In some implementations, a merchant- branded PR Platform application is developed with the PR Platform functionality, which may directly connect the user into the merchant's transaction processing system. For example, the user may choose from a number of payment devices (e.g., credit cards, debit cards, prepaid cards, etc.) from various payment device providers, e.g., 313. In some implementations, the app may provide the user the option to pay the purchase amount using funds included in a bank account of the user, e.g., a checking, savings, money market, current account, etc., e.g., 314. In some implementations, the user may have set default options for which card, bank account, etc. to use for the purchase transactions via the app. In some implementations, such setting of default options may allow the user to initiate the purchase transaction via a single click, tap, swipe, and/or other remedial user input action, e.g., 315. In some implementations, when the user utilizes such an option, the app may utilize the default settings of the user to initiate the purchase transaction. In some implementations, the app may allow the user to utilize other accounts (e.g., Google™ Checkout, Paypal™ account, etc.) to pay for the purchase transaction, e.g., 316. In some implementations, the app may allow the user to utilize rewards points, airline miles, hotel points, electronic coupons, printed coupons (e.g., by capturing the printed coupons similar to the product identifier) etc., to pay for the purchase transaction, e.g., 317-318. In some implementations, the app may provide an option to provide express authorization before initiating the purchase transaction, e.g., 1 319. In some implementations, the app may provide progress indicator provide
2 indication on the progress of the transaction after the user has selected an option to
3 initiate the purchase transaction, e.g., 320. In some implementations, the app may
4 provide the user with historical information on the user's prior purchases via the app,
5 e.g., 321. In some implementations, the app may provide the user with an option to
6 share information about the purchase (e.g., via email, SMS, wall posting on Facebook®,
7 tweet on Twitter™, etc.) with other users, e.g., 322. In some implementations the app
8 may provide the user an option to display the product identification information
9 captured by the client device (e.g., in order to show a customer service representative at0 the exit of a store the product information), e.g., 324. In some implementations, the1 user, app, client device and or PR Platform may encounter an error in the processing. In2 such scenarios, the user may be able to chat with a customer service representative (e.g.,3 VerifyChat 323) to resolve the difficulties in the purchase transaction procedure. 4 [ 00100 ] FIGURES 14(a) and 14(b) show an example purchase registration recall5 notification user interfaces in some embodiments of the PR Platform. In one6 implementation, product recall tracking and notification facilities provided by the PR7 Platform may be integrated with online checkout processes. Such an integration may8 accomplish enrollment and product submission in a single action (e.g., a single click, or9 tap), simplifying the recall tracking and notification process for the user, merchant,0 acquirers, issuers and/or PR Platform. 1 [ 00101] As shown in FIGURE 14(a), a user may visit an online merchant (e.g.,2 buybirdbuy.com), where the user has placed a product 1320 with a model number 14253 and SKU code 1430 in the cart 1405. The user has selected shipping option, has entered 1 quantity and the total price of $39.00 is shown. The user has provided billing
2 information 1440 and payment information 1445 to purchase the product in the cart
3 1405. A summary of the purchase including product total, shipping, tax and amount to
4 be charged to the user's VISA card is displayed at 1450. In a situation such as this, the
5 user may normally review that the displayed information is correct and may "place
6 order" by clicking button 1415 or 1455. With the product tracking and recall facilities,
7 the user may have the option of checking box 1435 to register purchase for recall
8 notification. When this option is selected, at least the product information and user
9 contact information may be delivered to the PR Platform (e.g., as an HTTP(S) POST0 message formatted in XML), without requiring the user to enter information separately1 or provide additional information. The PR Platform may monitor recalls and notify the2 user immediately if an item purchased by the user is recalled. 3 [ 00 102 ] As shown in FIGURE 14(b), an alternate implementation is shown wherein4 a user has placed an order and a purchase summary 1460 is displayed. The purchase5 summary page may display information such as billing address 1475, shipping address,6 Amounts charged 1480 as well as product information 1470. In addition to the summary7 information being displayed, a link or a button 1465 may be placed on the purchase8 summary page. By clicking on the "save for recall notification," at least the product9 information and user contact address may be captured and sent to the PR Platform,0 which may monitor recalls and contact the user if an item purchased by the user is1 recalled. 2 [ 00103 ] In one implementation where a user may purchase an item for another3 person, the PR Platform may include facilities to capture the purchased item as a gift 1 item (e.g., by the user identifying the purchase as a gift, using a shipping address
2 different from the shipping address on record or billing address, having a gift message,
3 requesting the user to confirm that the purchase is a gift item, etc.). The PR Platform
4 may capture the shipping information or the user provided gift recipient's information
5 to notify the gift recipient should there be a recall for the purchased item.
6 [ 00104] FIGURES 15(a), (b) and (c) show data flow diagrams illustrating an
7 example procedure to execute a card-based transaction resulting in raw card-based
8 transaction data in some embodiments of the PR Platform. In some implementations, a
9 user, e.g., 1501, may desire to purchase a product, service, offering, and/or the like
10 ("product"), from a merchant. The user may communicate with a merchant server, e.g.,
11 1503, via a client such as, but not limited to: a personal computer, mobile device,
12 television, point-of-sale terminal, kiosk, ATM, and/or the like (e.g., 1502). For example,
13 the user may provide user input, e.g., purchase input 1511, into the client indicating the
14 user's desire to purchase the product. In various implementations, the user input may
15 include, but not be limited to: keyboard entry, card swipe, activating a RFID/NFC
16 enabled hardware device (e.g., electronic card having multiple accounts, smartphone,
17 tablet, etc.), mouse clicks, depressing buttons on a joystick/game console, voice
18 commands, single/multi-touch gestures on a touch-sensitive interface, touching user
19 interface elements on a touch-sensitive display, and/or the like. For example, the user
20 may direct a browser application executing on the client device to a website of the
21 merchant, and may select a product from the website via clicking on a hyperlink
22 presented to the user via the website. As another example, the client may obtain track 1 data from the user's card (e.g., credit card, debit card, prepaid card, charge card, etc.), such as the example track ι data provided below: %B123456789012345APUBLIC/ J. Q. Λ 99011200000000000000** 901 ******?*
(wherein ,123456789012345' is the card number of V.Q. Public' and has a CVV number of 901. '990112' is a service code, and *** represents decimal digits which change randomly each time the card is used. ) [00105] In some implementations, the client may generate a purchase order message, e.g., 1512, and provide, e.g., 1513, the generated purchase order message to the merchant server. For example, a browser application executing on the client may provide, on behalf of the user, a (Secure) Hypertext Transfer Protocol ("HTTP(S)") GET message including the product order details for the merchant server in the form of data formatted according to the extensible Markup Language ("XML"). Below is an example HTTP(S) GET message including an XML-formatted purchase order message for the merchant server: GET /purchase .php HTTP/1.1
Host: www.merchant.com
Content-Type: Application/XML
Content-Length: 1306
<?XML version = "1.0" encoding = "UTF-8"?>
<purchase_order>
<order_ID>4NFU4RG94</order_ID>
<timestamp>2011-02-22 15 : 22 : 43</timestamp>
<user_ID>j ohn . q . publicSgmail . com</user_ID>
<client_details>
<client_IP>192.168.23.126</client_IP>
<client_type>smartphone</ client_type>
<client_model>HTC Hero</client_model>
<OS>Android 2.2</OS>
<app_installed_flag>true</app_installed_flag>
</client_details>
<purchase_details>
<num_products>l</num_products>
<product>
<product_type>book</product_type>
<product_params>
<product_title>XML for dummies</product_title> <ISBN>938-2-14-168710-0</ISBN>
<edition>2nd ed . </edition>
<cover>hardbound</cover>
<seller>bestbuybooks</seller>
</product_params>
<quantity>K/quantity>
</product> </purchase_details>
<account_params>
<account_name>John Q. Public</account_name>
<account_type>credit</account_type>
<account_num>123456789012345</account_num>
<billing_address>123 Green St., Norman, OK
98765</billing_address>
<phone>123-456-7809</phone>
<sign>/jqp/</sign>
<confirm_type>email</ confirm_type>
<contact info>j ohn . q. publicSgmail . com</ contact
</account_params>
<shipping_info>
<shipping_adress>same as billing</shipping_address>
<ship_type>expedited</ ship_type>
<ship_carrier>FedEx</ ship_carrier>
<ship_account>123-45- 678</ ship_account>
<tracking_flag>true</ tracking_flag>
<sign_flag>false</ sign_flag>
</ shipping_info>
</purchase_order> [ 00106 ] In some implementations, the merchant server may obtain the purchase order message from the client, and may parse the purchase order message to extract details of the purchase order from the user. The merchant server may generate a card query request, e.g., 1514 to determine whether the transaction can be processed. For example, the merchant server may attempt to determine whether the user has sufficient funds to pay for the purchase in a card account provided with the purchase order. The merchant server may provide the generated card query request, e.g., 1515, to an acquirer server, e.g., 1504. For example, the acquirer server may be a server of an acquirer financial institution ("acquirer") maintaining an account of the merchant. For example, the proceeds of transactions processed by the merchant may be deposited into an account maintained by the acquirer. In some implementations, the card query request may include details such as, but not limited to: the costs to the user involved in the transaction, card account details of the user, user billing and/or shipping information, and/or the like. For example, the merchant server may provide a HTTP(S) POST message including an XML-formatted card query request similar to the example listing provided below: POST /cardquery.php HTTP/ 1.1
Host: www.acquirer.com
Content-Type: Application/XML
Content-Length: 624
<?XML version = "1.0" encoding = "UTF-8"?>
<card_query_request>
<query_ID>VNEl39FK</query_ID>
<timestamp>2011-02-22 15 : 22 : 44</timestamp>
<purchase_summary>
<num_products>l</num_products>
<product>
<product_summary>Book - XML for
dummies</product_summary>
<product_quantity>l</product_quantity?
</product>
</purchase_summary>
<transaction_cost>$34.78</transaction_cost>
<account_params>
<account_name>John Q. Public</account_name>
<account_type>credit</account_type>
<account_num>123456789012345</account_num>
<billing_address>123 Green St., Norman, OK
98765</billing_address>
<phone>123-456-7809</phone>
<sign>/ j qp/</ sign>
</account_params>
<merchant_params>
<merchant_id>3FBCR4INC</merchant_id>
<merchant_name>Books & Things, Inc . </merchant_name>
<merchant_auth_key>lNNF484MCP59CHB27365</merchant_auth_key>
</merchant_params>
</card_query_request> [00107] In some implementations, the acquirer server may generate a card authorization request, e.g., 1516, using the obtained card query request, and provide the card authorization request, e.g., 1517, to a pay network server, e.g., 1505. For example, the acquirer server may redirect the HTTP(S) POST message in the example above from the merchant server to the pay network server. [00108] In some implementations, the pay network server may obtain the card authorization request from the acquirer server, and may parse the card authorization request to extract details of the request. Using the extracted fields and field values, the pay network server may generate a query, e.g., 1518, for an issuer server corresponding to the user's card account. For example, the user's card account, the details of which the user may have provided via the client-generated purchase order message, may be linked to an issuer financial institution ("issuer"), such as a banking institution, which issued the card account for the user. An issuer server, e.g., 1506, of the issuer may maintain details of the user's card account. In some implementations, a database, e.g., pay network database 1507, may store details of the issuer servers and card account numbers associated with the issuer servers. For example, the database may be a relational database responsive to Structured Query Language ("SQL") commands. The pay network server may execute a hypertext preprocessor ("PHP") script including SQL commands to query the database for details of the issuer server. An example PHP/SQL command listing, illustrating substantive aspects of querying the database, is provided below: <?PHP
header (' Content-Type : text/plain');
mysql_connect ("254.93.179.112", $DBserver, $password) ; // access database server mysql_select_db (" ISSUERS . SQL" ) ; // select database table to search
//create query for issuer server data
$query = "SELECT issuer_name issuer_address issuer_id ip_address mac_address auth_key port_num security_settings_list FROM IssuerTable WHERE account_num
LIKE '%' $accountnum";
$result = mysql_query ( $query) ; // perform the search query
mysql_close (" ISSUERS . SQL" ) ; // close database access
?> [ 00109 ] In response to obtaining the issuer server query, e.g., 1519, the pay network database may provide, e.g., 1520, the requested issuer server data to the pay network server. In some implementations, the pay network server may utilize the issuer server data to generate a forwarding card authorization request, e.g., 1521, to redirect the card authorization request from the acquirer server to the issuer server. The pay 1 network server may provide the card authorization request, e.g., 1522, to the issuer
2 server. In some implementations, the issuer server, e.g., 1506, may parse the card
3 authorization request, and based on the request details may query a database, e.g., user
4 profile database 1508, for data of the user's card account. For example, the issuer server
5 may issue PHP/SQL commands similar to the example provided below:
6 <?PHP
7 header (' Content-Type : text/plain');
8 mysql_connect ("254.93.179.112", $DBserver, $password) ; // access database server
9 mysql_select_db ( "USERS . SQL" ) ; // select database table to search
10 //create query for user data
11 $query = "SELECT user_id user_name user_balance account_type FROM UserTable
12 WHERE account_num LIKE '%' $accountnum" ;
13 $result = mysql_query ( $query) ; // perform the search query
14 mysql_close ( "USERS . SQL" ) ; // close database access
15 ?>
16
17
i8 [ o o i i o ] In some implementations, on obtaining the user data, e.g., 1525, the issuer
19 server may determine whether the user can pay for the transaction using funds available
20 in the account, e.g., 1526. For example, the issuer server may determine whether the
21 user has a sufficient balance remaining in the account, sufficient credit associated with
22 the account, and/or the like. If the issuer server determines that the user can pay for the
23 transaction using the funds available in the account, the server may provide an
24 authorization message, e.g., 1527, to the pay network server. For example, the server
25 may provide a HTTP(S) POST message similar to the examples above.
26 [ 00111] In some implementations, the pay network server may obtain the
27 authorization message, and parse the message to extract authorization details. Upon
28 determining that the user possesses sufficient funds for the transaction, the pay network
29 server may generate a transaction data record, e.g., 1529, from the card authorization
30 request it received, and store, e.g., 1530, the details of the transaction and authorization
31 relating to the transaction in a database, e.g., transactions database 1510. For example, the pay network server may issue PHP/SQL commands similar to the example listing below to store the transaction data in a database:
<?PHP
header ( ' Content-Type : text/plain ' ) ;
mysql_connect ( "254.92.185.103", $DBserver, $password) ; // access database server mysql_select ( "TRANSACTIONS . SQL" ) ; // select database to append
mysql_query (" INSERT INTO PurchasesTable (timestamp, purchase_summary_list, num_products, product_summary, product_quantity, transaction_cost,
account_params_list, account_name, account_type, account_num, billing_addres, zipcode, phone, sign, merchant_params_list, merchant_id, merchant_name,
merchant_auth_key )
VALUES (time(), $purchase_summary_list, $num_products , $product_summary,
$product_quantity, $transaction_cost, $account_params_list, $account_name,
$account_type, $account_num, $billing_addres, $zipcode, $phone, $sign,
$merchant_params_list, $merchant_id, $merchant_name, $merchant_auth_key ) " ) ; // add data to table in database
mysql_close ( "TRANSACTIONS . SQL" ) ; // close connection to database
?> [00112] In some implementations, the pay network server may forward the authorization message, e.g., 1531, to the acquirer server, which may in turn forward the authorization message, e.g., 1532, to the merchant server. The merchant may obtain the authorization message, and determine from it that the user possesses sufficient funds in the card account to conduct the transaction. The merchant server may add a record of the transaction for the user to a batch of transaction data relating to authorized transactions. For example, the merchant may append the XML data pertaining to the user transaction to an XML data file comprising XML data for transactions that have been authorized for various users, e.g., 1533, and store the XML data file, e.g., 1534, in a database, e.g., merchant database 1509. For example, a batch XML data file may be structured similar to the example XML data structure template provided below: <?XML version = "1.0" encoding = "UTF-8"?>
<merchant_data>
<merchant_id>3FBCR4INC</merchant_id>
<merchant_name>Books & Things, Inc . </merchant_name>
<merchant_auth_key>lNNF484MCP59CHB27365</merchant_auth_key> <account_number>123456789</account_number>
</merchant_data>
<transaction_data>
<transaction 1> </transaction 1>
<transaction 2>
</transaction 2>
<transaction n>
</transaction
</transaction data> [ 00113 ] In some implementations, the server may also generate a purchase receipt, e.g., 1533, and provide the purchase receipt to the client. The client may render and display, e.g., 1536, the purchase receipt for the user. For example, the client may render a webpage, electronic message, text / SMS message, buffer a voicemail, emit a ring tone, and/or play an audio message, etc., and provide output including, but not limited to: sounds, music, audio, video, images, tactile feedback, vibration alerts (e.g., on vibration- capable client devices such as a smartphone etc.), and/or the like. [ 00114] With reference to FIGURE 15(c), in some implementations, the merchant server may initiate clearance of a batch of authorized transactions. For example, the merchant server may generate a batch data request, e.g., 1537, and provide the request, e.g., 1538, to a database, e.g., merchant database 1509. For example, the merchant server may utilize PHP/SQL commands similar to the examples provided above to query a relational database. In response to the batch data request, the database may provide the requested batch data, e.g., 1539. The server may generate a batch clearance request, e.g., 1540, using the batch data obtained from the database, and provide, e.g., 1541, the batch clearance request to an acquirer server, e.g., 1504. For example, the merchant server may provide a HTTP(S) POST message including XML-formatted batch data in the message body for the acquirer server. The acquirer server may generate, e.g., 1542, a 1 batch payment request using the obtained batch clearance request, and provide the
2 batch payment request to the pay network server, e.g., 1543. The pay network server
3 may parse the batch payment request, and extract the transaction data for each
4 transaction stored in the batch payment request, e.g., 1544. The pay network server may
5 store the transaction data, e.g., 1545, for each transaction in a database, e.g.,
6 transactions database 1510. For each extracted transaction, the pay network server may
7 query, e.g., 1546, a database, e.g., pay network database 1507, for an address of an issuer
8 server. For example, the pay network server may utilize PHP/SQL commands similar to
9 the examples provided above. The pay network server may generate an individual
10 payment request, e.g., 1548, for each transaction for which it has extracted transaction
11 data, and provide the individual payment request, e.g., 1549, to the issuer server, e.g.,
12 1506. For example, the pay network server may provide a HTTP(S) POST request
13 similar to the example below:
14 POST /requestpay.php HTTP/1.1
15 Host: www.issuer.com
16 Content-Type: Application/XML
17 Content-Length: 788
18 <?XML version = "1.0" encoding = "UTF-8"?>
19 <pay_request>
20 <request_ID>CNI4ICNW2</request_ID>
21 <timestamp>2011-02-22 17 : 00 : 01</timestamp>
22 <pay_amount>$34.78</pay_amount>
23 <account_params>
24 <account_name>John Q. Public</account_name>
25 <account_type>credit</account_type>
26 <account_num>123456789012345</account_num>
27 <billing_address>123 Green St., Norman, OK
28 98765</billing_address>
29 <phone>123-456-7809</phone>
30 <sign>/ j qp/</ sign>
31 </account_params>
32 <merchant_params>
33 <merchant_id>3FBCR4INC</merchant_id>
34 <merchant_name>Books & Things, Inc . </merchant_name>
35 <merchant_auth_key>lNNF484MCP59CHB27365</merchant_auth_key>
36 </merchant_params>
37 <purchase_summary>
38 <num_products>l</num_products>
39 <product> <product_summary>Book - XML for
dummies</product_summary>
<product_quantity>l</product_quantity?
</product>
</purchase_summary>
</pay_request> [ooii5] In some implementations, the issuer server may generate a payment command, e.g., 1550. For example, the issuer server may issue a command to deduct funds from the user's account (or add a charge to the user's credit card account). The issuer server may issue a payment command, e.g., 1551, to a database storing the user's account information, e.g., user profile database 1508. The issuer server may provide a funds transfer message, e.g., 1552, to the pay network server, which may forward, e.g., !553, the funds transfer message to the acquirer server. An example HTTP(S) POST funds transfer message is provided below: POST /clearance .php HTTP/1.1
Host: www.acquirer.com
Content-Type: Application/XML
Content-Length: 206
<?XML version = "1.0" encoding = "UTF- 8 " ? >
<deposit_ack>
<request_ID>CNI4ICNW2</request_ID>
<clear_flag>true</clear_flag>
<timestamp>2011-02-22 17 : 00 : 02</timestamp>
<deposit_amount>$34.78< /deposit_amount>
</deposit_ack> [ 00 116 ] In some implementations, the acquirer server may parse the funds transfer message, and correlate the transaction (e.g., using the request_ID field in the example above) to the merchant. The acquirer server may then transfer the funds specified in the funds transfer message to an account of the merchant, e.g., 1554. [ 00117] FIGURES 16(a), (b), (c) and (d) show logic flow diagrams illustrating example aspects of executing a card-based transaction resulting in generation of raw card-based transaction data in some embodiments of the PR Platform. In some 1 implementations, a user may provide user input, e.g., 1601, into a client indicating the
2 user's desire to purchase a product from a merchant. The client may generate a
3 purchase order message, e.g., 1602, and provide the generated purchase order message
4 to the merchant server. In some implementations, the merchant server may obtain, e.g.,
5 1603, the purchase order message from the client, and may parse the purchase order
6 message to extract details of the purchase order from the user. The merchant server may
7 generate a card query request, e.g., 1604, to determine whether the transaction can be
8 processed. For example, the merchant server may process the transaction only if the
9 user has sufficient funds to pay for the purchase in a card account provided with the
10 purchase order. The merchant server may provide the generated card query request to
11 an acquirer server. The acquirer server may generate a card authorization request, e.g.,
12 1606, using the obtained card query request, and provide the card authorization request
13 to a pay network server. In some implementations, the pay network server may obtain
14 the card authorization request from the acquirer server, and may parse the card
15 authorization request to extract details of the request. Using the extracted fields and
16 field values, the pay network server may generate a query, e.g., 1608, for an issuer server
17 corresponding to the user's card account. In response to obtaining the issuer server is query the pay network database may provide, e.g., 1609, the requested issuer server data
19 to the pay network server. In some implementations, the pay network server may utilize
20 the issuer server data to generate a forwarding card authorization request, e.g., 1610, to
21 redirect the card authorization request from the acquirer server to the issuer server. The
22 pay network server may provide the card authorization request to the issuer server. In
23 some implementations, the issuer server may parse, e.g., 1611, the card authorization
24 request, and based on the request details may query a database, e.g., 1612, for data of the user's card account. In response, the database may provide the requested user data. On obtaining the user data, the issuer server may determine whether the user can pay for the transaction using funds available in the account, e.g., 1614. For example, the issuer server may determine whether the user has a sufficient balance remaining in the account, sufficient credit associated with the account, and/or the like, but comparing the data from the database with the transaction cost obtained from the card authorization request. If the issuer server determines that the user can pay for the transaction using the funds available in the account, the server may provide an authorization message, e.g., 1615, to the pay network server. [ 00 118 ] In some implementations, the pay network server may obtain the authorization message, and parse the message to extract authorization details. Upon determining that the user possesses sufficient funds for the transaction (e.g., 1617, option "Yes"), the pay network server may extract the transaction card from the authorization message and/or card authorization request, e.g., 1618, and generate a transaction data record, e.g., 1619, using the card transaction details. The pay network server may provide the transaction data record for storage, e.g., 1620, to a database. In some implementations, the pay network server may forward the authorization message, e.g., 1621, to the acquirer server, which may in turn forward the authorization message, e.g., 1622, to the merchant server. The merchant may obtain the authorization message, and parse the authorization message to extract its contents, e.g., 1623. The merchant server may determine whether the user possesses sufficient funds in the card account to conduct the transaction. If the merchant server determines that the user possess sufficient funds, e.g., 1624, option "Yes," the merchant server may add the record of the 1 transaction for the user to a batch of transaction data relating to authorized
2 transactions, e.g., 1625. The merchant server may also generate a purchase receipt, e.g.,
3 1627, for the user. If the merchant server determines that the user does not possess
4 sufficient funds, e.g., 1624, option "No," the merchant server may generate an
5 "authorization fail" message, e.g., 1628. The merchant server may provide the purchase
6 receipt or the "authorization fail" message to the client. The client may render and
7 display, e.g., 1629, the purchase receipt for the user.
8 [oo ii9] In some implementations, the merchant server may initiate clearance of a
9 batch of authorized transactions by generating a batch data request, e.g., 1630, and
10 providing the request to a database. In response to the batch data request, the database
11 may provide the requested batch data, e.g., 1631, to the merchant server. The server
12 may generate a batch clearance request, e.g., 1632, using the batch data obtained from
13 the database, and provide the batch clearance request to an acquirer server. The
14 acquirer server may generate, e.g., 1634, a batch payment request using the obtained
15 batch clearance request, and provide the batch payment request to a pay network server.
16 The pay network server may parse, e.g., 1635, the batch payment request, select a
17 transaction stored within the batch data, e.g., 1636, and extract the transaction data for
18 the transaction stored in the batch payment request, e.g., 1637. The pay network server
19 may generate a transaction data record, e.g., 1638, and store the transaction data, e.g.,
20 1639, the transaction in a database. For the extracted transaction, the pay network
21 server may generate an issuer server query, e.g., 1640, for an address of an issuer server
22 maintaining the account of the user requesting the transaction. The pay network server
23 may provide the query to a database. In response, the database may provide the issuer server data requested by the pay network server, e.g., 1641. The pay network server may generate an individual payment request, e.g., 1642, for the transaction for which it has extracted transaction data, and provide the individual payment request to the issuer server using the issuer server data from the database. [ 00120 ] In some implementations, the issuer server may obtain the individual payment request, and parse, e.g., 1643, the individual payment request to extract details of the request. Based on the extracted data, the issuer server may generate a payment command, e.g., 1644. For example, the issuer server may issue a command to deduct funds from the user's account (or add a charge to the user's credit card account). The issuer server may issue a payment command, e.g., 1645, to a database storing the user's account information. In response, the database may update a data record corresponding to the user's account to reflect the debit / charge made to the user's account. The issuer server may provide a funds transfer message, e.g., 1646, to the pay network server after the payment command has been executed by the database. [ 00 121 ] In some implementations, the pay network server may check whether there are additional transactions in the batch that need to be cleared and funded. If there are additional transactions, e.g., 1647, option "Yes," the pay network server may process each transaction according to the procedure described above. The pay network server may generate, e.g., 1648, an aggregated funds transfer message reflecting transfer of all transactions in the batch, and provide, e.g., 1649, the funds transfer message to the acquirer server. The acquirer server may, in response, transfer the funds specified in the funds transfer message to an account of the merchant, e.g., 1650. PR Platform Controller
[ 0 0122 ] FIGURE 17 shows a block diagram illustrating embodiments of a PR Platform controller. In this embodiment, the PR Platform controller 1701 may serve to aggregate, process, store, search, serve, identify, instruct, generate, match, and/or facilitate interactions with a computer through various technologies, and/or other related data. [ 00123 ] Typically, users, which may be people and/or other systems, may engage information technology systems (e.g., computers) to facilitate information processing. In turn, computers employ processors to process information; such processors 1703 may be referred to as central processing units (CPU). One form of processor is referred to as a microprocessor. CPUs use communicative circuits to pass binary encoded signals acting as instructions to enable various operations. These instructions may be operational and/or data instructions containing and/or referencing other instructions and data in various processor accessible and operable areas of memory 1729 (e.g., registers, cache memory, random access memory, etc.). Such communicative instructions may be stored and/or transmitted in batches (e.g., batches of instructions) as programs and/or data components to facilitate desired operations. These stored instruction codes, e.g., programs, may engage the CPU circuit components and other motherboard and/or system components to perform desired operations. One type of program is a computer operating system, which, may be executed by CPU on a computer; the operating system enables and facilitates users to access and operate computer information technology and resources. Some resources that may be employed in information technology systems include: input and output mechanisms through which data may pass into and out of a computer; memory storage into which data may be saved; and processors by which information may be processed. These information technology systems may be used to collect data for later retrieval, analysis, and manipulation, which may be facilitated through a database program. These information technology systems provide interfaces that allow users to access and operate various system components. [00 124] In one embodiment, the PR Platform controller 1701 may be connected to and/or communicate with entities such as, but not limited to: one or more users from user input devices 1711; peripheral devices 1712; an optional cryptographic processor device 1728; and/or a communications network 1713. [ 00 125 ] Networks are commonly thought to comprise the interconnection and interoperation of clients, servers, and intermediary nodes in a graph topology. It should be noted that the term "server" as used throughout this application refers generally to a computer, other device, program, or combination thereof that processes and responds to the requests of remote users across a communications network. Servers serve their information to requesting "clients." The term "client" as used herein refers generally to a computer, program, other device, user and/or combination thereof that is capable of processing and making requests and obtaining and processing any responses from servers across a communications network. A computer, other device, program, or combination thereof that facilitates, processes information and requests, and/or furthers the passage of information from a source user to a destination user is commonly referred to as a "node." Networks are generally thought to facilitate the transfer of information from source points to destinations. A node specifically tasked 1 with furthering the passage of information from a source to a destination is commonly
2 called a "router." There are many forms of networks such as Local Area Networks
3 (LANs), Pico networks, Wide Area Networks (WANs), Wireless Networks (WLANs), etc.
4 For example, the Internet is generally accepted as being an interconnection of a
5 multitude of networks whereby remote clients and servers may access and interoperate
6 with one another.
7 [ 00 126 ] The PR Platform controller 1701 may be based on computer systems that
8 may comprise, but are not limited to, components such as: a computer systemization
9 1702 connected to memory 1729.
10 Computer Systemization
11 [ 00127] A computer systemization 1702 may comprise a clock 1730, central
12 processing unit ("CPU(s)" and/or "processor(s)" (these terms are used interchangeable
13 throughout the disclosure unless noted to the contrary)) 1703, a memory 1729 (e.g., a
14 read only memory (ROM) 1706, a random access memory (RAM) 1705, etc.), and/or an
15 interface bus 1707, and most frequently, although not necessarily, are all interconnected
16 and/or communicating through a system bus 1704 on one or more (mother)board(s)
17 1702 having conductive and/or otherwise transportive circuit pathways through which
18 instructions (e.g., binary encoded signals) may travel to effectuate communications,
19 operations, storage, etc. The computer systemization may be connected to a power
20 source 1786; e.g., optionally the power source may be internal. Optionally, a
21 cryptographic processor 1726 and/or transceivers (e.g., ICs) 1774 may be connected to
22 the system bus. In another embodiment, the cryptographic processor and/or
23 transceivers may be connected as either internal and/or external peripheral devices 1712 1 via the interface bus I/O. In turn, the transceivers may be connected to antenna(s) 1775,
2 thereby effectuating wireless transmission and reception of various communication
3 and/or sensor protocols; for example the antenna(s) may connect to: a Texas
4 Instruments WiLink WL1283 transceiver chip (e.g., providing 802.1m, Bluetooth 3.0,
5 FM, global positioning system (GPS) (thereby allowing PR Platform controller to
6 determine its location)); Broadcom BCM4329FKUBG transceiver chip (e.g., providing
7 802.1m, Bluetooth 2.1 + EDR, FM, etc.); a Broadcom BCM4750IUB8 receiver chip (e.g.,
8 GPS); an Infineon Technologies X-Gold 618-PMB9800 (e.g., providing 2G/3G
9 HSDPA/HSUPA communications); and/or the like. The system clock typically has a0 crystal oscillator and generates a base signal through the computer systemization's1 circuit pathways. The clock is typically coupled to the system bus and various clock2 multipliers that will increase or decrease the base operating frequency for other3 components interconnected in the computer systemization. The clock and various4 components in a computer systemization drive signals embodying information5 throughout the system. Such transmission and reception of instructions embodying6 information throughout a computer systemization may be commonly referred to as7 communications. These communicative instructions may further be transmitted,8 received, and the cause of return and/or reply communications beyond the instant9 computer systemization to: communications networks, input devices, other computer0 systemizations, peripheral devices, and/or the like. It should be understood that in1 alternative embodiments, any of the above components may be connected directly to2 one another, connected to the CPU, and/or organized in numerous variations employed3 as exemplified by various computer systems. [ 0 0128 ] The CPU comprises at least one high-speed data processor adequate to execute program components for executing user and/or system-generated requests. Often, the processors themselves will incorporate various specialized processing units, such as, but not limited to: integrated system (bus) controllers, memory management control units, floating point units, and even specialized processing sub-units like graphics processing units, digital signal processing units, and/or the like. Additionally, processors may include internal fast access addressable memory, and be capable of mapping and addressing memory 1729 beyond the processor itself; internal memory may include, but is not limited to: fast registers, various levels of cache memory (e.g., level 1, 2, 3, etc.), RAM, etc. The processor may access this memory through the use of a memory address space that is accessible via instruction address, which the processor can construct and decode allowing it to access a circuit path to a specific memory address space having a memory state. The CPU may be a microprocessor such as: AMD's Athlon, Duron and/or Opteron; ARM's application, embedded and secure processors; IBM and/or Motorola's DragonBall and PowerPC; IBM's and Sony's Cell processor; Intel's Celeron, Core (2) Duo, Itanium, Pentium, Xeon, and/or XScale; and/or the like processor(s). The CPU interacts with memory through instruction passing through conductive and/or transportive conduits (e.g., (printed) electronic and/or optic circuits) to execute stored instructions (i.e., program code) according to conventional data processing techniques. Such instruction passing facilitates communication within the PR Platform controller and beyond through various interfaces. Should processing requirements dictate a greater amount speed and/or capacity, distributed processors (e.g., Distributed PR Platform), mainframe, multi-core, parallel, and/or super-computer architectures may similarly be employed.Alternatively, should deployment requirements dictate greater portability, smaller Personal Digital Assistants (PDAs) may be employed. [ 00 129 ] Depending on the particular implementation, features of the PR Platform may be achieved by implementing a microcontroller such as CAST'S R8051XC2 microcontroller; Intel's MCS 51 (i.e., 8051 microcontroller); and/or the like. Also, to implement certain features of the PR Platform, some feature implementations may rely on embedded components, such as: Application-Specific Integrated Circuit ("ASIC"), Digital Signal Processing ("DSP"), Field Programmable Gate Array ("FPGA"), and/or the like embedded technology. For example, any of the PR Platform component collection (distributed or otherwise) and/or features may be implemented via the microprocessor and/or via embedded components; e.g., via ASIC, coprocessor, DSP, FPGA, and/or the like. Alternately, some implementations of the PR Platform may be implemented with embedded components that are configured and used to achieve a variety of features or signal processing. [ 00130 ] Depending on the particular implementation, the embedded components may include software solutions, hardware solutions, and/or some combination of both hardware/ software solutions. For example, PR Platform features discussed herein may be achieved through implementing FPGAs, which are a semiconductor devices containing programmable logic components called "logic blocks", and programmable interconnects, such as the high performance FPGA Virtex series and/or the low cost Spartan series manufactured by Xilinx. Logic blocks and interconnects can be programmed by the customer or designer, after the FPGA is manufactured, to implement any of the PR Platform features. A hierarchy of programmable interconnects allow logic blocks to be interconnected as needed by the PR Platform system designer/administrator, somewhat like a one-chip programmable breadboard. An FPGA's logic blocks can be programmed to perform the operation of basic logic gates such as AND, and XOR, or more complex combinational operators such as decoders or mathematical operations. In most FPGAs, the logic blocks also include memory elements, which may be circuit flip-flops or more complete blocks of memory. In some circumstances, the PR Platform may be developed on regular FPGAs and then migrated into a fixed version that more resembles ASIC implementations. Alternate or coordinating implementations may migrate PR Platform controller features to a final ASIC instead of or in addition to FPGAs. Depending on the implementation all of the aforementioned embedded components and microprocessors may be considered the "CPU" and/or "processor" for the PR Platform. Power Source
[ 00131 ] The power source 1786 may be of any standard form for powering small electronic circuit board devices such as the following power cells: alkaline, lithium hydride, lithium ion, lithium polymer, nickel cadmium, solar cells, and/or the like. Other types of AC or DC power sources may be used as well. In the case of solar cells, in one embodiment, the case provides an aperture through which the solar cell may capture photonic energy. The power cell 1786 is connected to at least one of the interconnected subsequent components of the PR Platform thereby providing an electric current to all subsequent components. In one example, the power source 1786 is connected to the system bus component 1704. In an alternative embodiment, an outside power source 1786 is provided through a connection across the I/O 1708 interface. For example, a USB and/or IEEE 1394 connection carries both data and power across the connection and is therefore a suitable source of power. Interface Adapters
[00132] Interface bus(ses) 1707 may accept, connect, and/or communicate to a number of interface adapters, conventionally although not necessarily in the form of adapter cards, such as but not limited to: input output interfaces (I/O) 1708, storage interfaces 1709, network interfaces 1710, and/or the like. Optionally, cryptographic processor interfaces 1727 similarly may be connected to the interface bus. The interface bus provides for the communications of interface adapters with one another as well as with other components of the computer systemization. Interface adapters are adapted for a compatible interface bus. Interface adapters conventionally connect to the interface bus via a slot architecture. Conventional slot architectures may be employed, such as, but not limited to: Accelerated Graphics Port (AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), PCI Express, Personal Computer Memory Card International Association (PCMCIA), and/or the like. [00133] Storage interfaces 1709 may accept, communicate, and/or connect to a number of storage devices such as, but not limited to: storage devices 1714, removable disc devices, and/or the like. Storage interfaces may employ connection protocols such as, but not limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE), Institute of Electrical and Electronics Engineers (IEEE) 1394, fiber channel, Small Computer Systems Interface (SCSI), Universal Serial Bus (USB), and/or the like. [ 00134] Network interfaces 1710 may accept, communicate, and/or connect to a communications network 1713. Through a communications network 1713, the PR Platform controller is accessible through remote clients 1733b (e.g., computers with web browsers) by users 1733a. Network interfaces may employ connection protocols such as, but not limited to: direct connect, Ethernet (thick, thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring, wireless connection such as IEEE 8o2.na-x, and/or the like. Should processing requirements dictate a greater amount speed and/or capacity, distributed network controllers (e.g., Distributed PR Platform), architectures may similarly be employed to pool, load balance, and/or otherwise increase the communicative bandwidth required by the PR Platform controller. A communications network 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. A network interface may be regarded as a specialized form of an input output interface. Further, multiple network interfaces 1710 may be used to engage with various communications network types 1713. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and/or unicast networks. [ 00135 ] Input Output interfaces (I/O) 1708 may accept, communicate, and/or connect to user input devices 1711, peripheral devices 1712, cryptographic processor devices 1728, and/or the like. I/O may employ connection protocols such as, but not limited to: audio: analog, digital, monaural, RCA, stereo, and/or the like; data: Apple Desktop Bus (ADB), IEEE I394a-b, serial, universal serial bus (USB); infrared; joystick; keyboard; midi; optical; PC AT; PS/2; parallel; radio; video interface: Apple Desktop Connector (ADC), BNC, coaxial, component, composite, digital, Digital Visual Interface (DVI), high-definition multimedia interface (HDMI), RCA, RF antennae, S-Video, VGA, and/or the like; wireless transceivers: 8o2.na/b/g/n/x; Bluetooth; cellular (e.g., code division multiple access (CDMA), high speed packet access (HSPA(+)), high-speed downlink packet access (HSDPA), global system for mobile communications (GSM), long term evolution (LTE), WiMax, etc.); and/or the like. One typical output device may include a video display, which typically comprises a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) based monitor with an interface (e.g., DVI circuitry and cable) that accepts signals from a video interface, may be used. The video interface composites information generated by a computer systemization and generates video signals based on the composited information in a video memory frame. Another output device is a television set, which accepts signals from a video interface. Typically, the video interface provides the composited video information through a video connection interface that accepts a video display interface (e.g., an RCA composite video connector accepting an RCA composite video cable; a DVI connector accepting a DVI display cable, etc.). [ 00136 ] User input devices 1711 often are a type of peripheral device 512 (see below) and may include: card readers, dongles, finger print readers, gloves, graphics tablets, joysticks, keyboards, microphones, mouse (mice), remote controls, retina readers, touch screens (e.g., capacitive, resistive, etc.), trackballs, trackpads, sensors 1 (e.g., accelerometers, ambient light, GPS, gyroscopes, proximity, etc.), styluses, and/or
2 the like.
3 [ 00137] Peripheral devices 1712 may be connected and/or communicate to I/O
4 and/or other facilities of the like such as network interfaces, storage interfaces, directly
5 to the interface bus, system bus, the CPU, and/or the like. Peripheral devices may be
6 external, internal and/or part of the PR Platform controller. Peripheral devices may
7 include: antenna, audio devices (e.g., line-in, line-out, microphone input, speakers, etc.),
8 cameras (e.g., still, video, webcam, etc.), dongles (e.g., for copy protection, ensuring
9 secure transactions with a digital signature, and/or the like), external processors (for
10 added capabilities; e.g., crypto devices 528), force-feedback devices (e.g., vibrating
11 motors), network interfaces, printers, scanners, storage devices, transceivers (e.g.,
12 cellular, GPS, etc.), video devices (e.g., goggles, monitors, etc.), video sources, visors,
13 and/or the like. Peripheral devices often include types of input devices (e.g., cameras).
14 [ 00138 ] It should be noted that although user input devices and peripheral devices
15 may be employed, the PR Platform controller may be embodied as an embedded,
16 dedicated, and/or monitor-less (i.e., headless) device, wherein access would be provided
17 over a network interface connection.
18 [ 00139 ] Cryptographic units such as, but not limited to, microcontrollers,
19 processors 1726, interfaces 1727, and/or devices 1728 may be attached, and/or
20 communicate with the PR Platform controller. A MC68HC16 microcontroller,
21 manufactured by Motorola Inc., may be used for and/or within cryptographic units. The
22 MC68HC16 microcontroller utilizes a 16-bit multiply-and-accumulate instruction in the
23 16 MHz configuration and requires less than one second to perform a 512-bit RSA private key operation. Cryptographic units support the authentication of communications from interacting agents, as well as allowing for anonymous transactions. Cryptographic units may also be configured as part of the CPU. Equivalent microcontrollers and/or processors may also be used. Other commercially available specialized cryptographic processors include: Broadcom's CryptoNetX and other Security Processors; nCipher's nShield; SafeNet's Luna PCI (e.g., 7100) series; Semaphore Communications' 40 MHz Roadrunner 184; Sun's Cryptographic Accelerators (e.g., Accelerator 6000 PCIe Board, Accelerator 500 Daughtercard); Via Nano Processor (e.g., L2100, L2200, U2400) line, which is capable of performing 500+ MB/s of cryptographic instructions; VLSI Technology's 33 MHz 6868; and/or the like. Memory
[00140] Generally, any mechanization and/or embodiment allowing a processor to affect the storage and/or retrieval of information is regarded as memory 1729. However, memory is a fungible technology and resource, thus, any number of memory embodiments may be employed in lieu of or in concert with one another. It is to be understood that the PR Platform controller and/or a computer systemization may employ various forms of memory 1729. For example, a computer systemization may be configured wherein the operation of on-chip CPU memory (e.g., registers), RAM, ROM, and any other storage devices are provided by a paper punch tape or paper punch card mechanism; however, such an embodiment would result in an extremely slow rate of operation. In a typical configuration, memory 1729 will include ROM 1706, RAM 1705, and a storage device 1714. A storage device 1714 may be any conventional computer system storage. Storage devices may include a drum; a (fixed and/or removable) magnetic disk drive; a magneto-optical drive; an optical drive (i.e., Blueray, CD ROM/RAM/Recordable (R)/ReWritable (RW), DVD R/RW, HD DVD R/RW etc.); an array of devices (e.g., Redundant Array of Independent Disks (RAID)); solid state memory devices (USB memory, solid state drives (SSD), etc.); other processor-readable storage mediums; and/or other devices of the like. Thus, a computer systemization generally requires and makes use of memory. Component Collection
[00141] The memory 1729 may contain a collection of program and/or database components and/or data such as, but not limited to: operating system component(s) 1715 (operating system); information server component(s) 1716 (information server); user interface component(s) 1717 (user interface); Web browser component(s) 1718 (Web browser); database(s) 1719; mail server component(s) 1721; mail client component(s) 1722; cryptographic server component(s) 1720 (cryptographic server); the PR Platform component(s) 1735; and/or the like (i.e., collectively a component collection). These components may be stored and accessed from the storage devices and/or from storage devices accessible through an interface bus. Although non- conventional program components such as those in the component collection, typically, are stored in a local storage device 1714, they may also be loaded and/or stored in memory such as: peripheral devices, RAM, remote storage facilities through a communications network, ROM, various forms of memory, and/or the like. 1 Operating System
2 [00142] The operating system component 1715 is an executable program
3 component facilitating the operation of the PR Platform controller. Typically, the
4 operating system facilitates access of I/O, network interfaces, peripheral devices,
5 storage devices, and/or the like. The operating system may be a highly fault tolerant,
6 scalable, and secure system such as: Apple Macintosh OS X (Server); AT&T Plan 9; Be
7 OS; Unix and Unix-like system distributions (such as AT&T's UNIX; Berkley Software
8 Distribution (BSD) variations such as FreeBSD, NetBSD, OpenBSD, and/or the like;
9 Linux distributions such as Red Hat, Ubuntu, and/or the like); and/or the like operating
10 systems. However, more limited and/or less secure operating systems also may be
11 employed such as Apple Macintosh OS, IBM OS/2, Microsoft DOS, Microsoft Windows
12 2000/2003/3.1/95/98/CE/Millenium/NT/Vista/XP (Server), Palm OS, and/or the like.
13 An operating system may communicate to and/or with other components in a
14 component collection, including itself, and/or the like. Most frequently, the operating
15 system communicates with other program components, user interfaces, and/or the like.
16 For example, the operating system may contain, communicate, generate, obtain, and/or
17 provide program component, system, user, and/or data communications, requests, is and/or responses. The operating system, once executed by the CPU, may enable the
19 interaction with communications networks, data, I/O, peripheral devices, program
20 components, memory, user input devices, and/or the like. The operating system may
21 provide communications protocols that allow the PR Platform controller to
22 communicate with other entities through a communications network 1713. Various
23 communication protocols may be used by the PR Platform controller as a subcarrier transport mechanism for interaction, such as, but not limited to: multicast, TCP/IP, UDP, unicast, and/or the like. Information Server
[00143] An information server component 1716 is a stored program component that is executed by a CPU. The information server may be a conventional Internet information server such as, but not limited to Apache Software Foundation's Apache, Microsoft's Internet Information Server, and/or the like. The information server may allow for the execution of program components through facilities such as Active Server Page (ASP), ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, Common Gateway Interface (CGI) scripts, dynamic (D) hypertext markup language (HTML), FLASH, Java, JavaScript, Practical Extraction Report Language (PERL), Hypertext Pre-Processor (PHP), pipes, Python, wireless application protocol (WAP), WebObjects, and/or the like. The information server may support 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), messaging protocols (e.g., America Online (AOL) Instant Messenger (AIM), Application Exchange (APEX), ICQ, Internet Relay Chat (IRC), Microsoft Network (MSN) Messenger Service, Presence and Instant Messaging Protocol (PRIM), Internet Engineering Task Force's (IETF's) Session Initiation Protocol (SIP), SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE), open XML-based Extensible Messaging and Presence Protocol (XMPP) (i.e., Jabber or Open Mobile Alliance's (OMA's) Instant Messaging and Presence Service (IMPS)), Yahoo! Instant Messenger Service, and/or the like. The information server provides results in the form of Web pages to Web browsers, and allows for the manipulated generation of the Web pages through interaction with other program components. After a Domain Name System (DNS) resolution portion of an HTTP request is resolved to a particular information server, the information server resolves requests for information at specified locations on the PR Platform controller based on the remainder of the HTTP request. For example, a request such as http://123.124.125.126/myInformation.html might have the IP portion of the request "123.124.125.126" resolved by a DNS server to an information server at that IP address; that information server might in turn further parse the http request for the "/mylnformation.html" portion of the request and resolve it to a location in memory containing the information "mylnformation.html." Additionally, other information serving protocols may be employed across various ports, e.g., FTP communications across port 21, and/or the like. An information server may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the information server communicates with the PR Platform database 1719, operating systems, other program components, user interfaces, Web browsers, and/or the like. [ 00144 ] Access to the PR Platform database may be achieved through a number of database bridge mechanisms such as through scripting languages as enumerated below (e.g., CGI) and through inter-application communication channels as enumerated below (e.g., CORBA, WebObjects, etc.). Any data requests through a Web browser are parsed through the bridge mechanism into appropriate grammars as required by the PR Platform. In one embodiment, the information server would provide a Web form accessible by a Web browser. Entries made into supplied fields in the Web form are tagged as having been entered into the particular fields, and parsed as such. The entered terms are then passed along with the field tags, which act to instruct the parser to generate queries directed to appropriate tables and/or fields. In one embodiment, the parser may generate queries in standard SQL by instantiating a search string with the proper join/select commands based on the tagged text entries, wherein the resulting command is provided over the bridge mechanism to the PR Platform as a query. Upon generating query results from the query, the results are passed over the bridge mechanism, and may be parsed for formatting and generation of a new results Web page by the bridge mechanism. Such a new results Web page is then provided to the information server, which may supply it to the requesting Web browser. [00145] Also, an information server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. User Interface
[00146] Computer interfaces in some respects are similar to automobile operation interfaces. Automobile operation interface elements such as steering wheels, gearshifts, and speedometers facilitate the access, operation, and display of automobile resources, and status. Computer interaction interface elements such as check boxes, cursors, menus, scrollers, and windows (collectively and commonly referred to as widgets) similarly facilitate the access, capabilities, operation, and display of data and computer hardware and operating system resources, and status. Operation interfaces are commonly called user interfaces. Graphical user interfaces (GUIs) such as the Apple Macintosh Operating System's Aqua, IBM's OS/2, Microsoft's Windows 1 2000/2003/3. i/95/98/CE/Millenium/NT/XP/Vista/7 (i.e., Aero), Unix's X-Windows
2 (e.g., which may include additional Unix graphic interface libraries and layers such as K
3 Desktop Environment (KDE), mythTV and GNU Network Object Model Environment
4 (GNOME)), web interface libraries (e.g., ActiveX, AJAX, (D)HTML, FLASH, Java,
5 JavaScript, etc. interface libraries such as, but not limited to, Dojo, jQuery(UI),
6 MooTools, Prototype, script.aculo.us, SWFObject, Yahoo! User Interface, any of which
7 may be used and) provide a baseline and means of accessing and displaying information
8 graphically to users.
9 [ooi47] A user interface component 1717 is a stored program component that is0 executed by a CPU. The user interface may be a conventional graphic user interface as1 provided by, with, and/or atop operating systems and/or operating environments such2 as already discussed. The user interface may allow for the display, execution,3 interaction, manipulation, and/or operation of program components and/or system4 facilities through textual and/or graphical facilities. The user interface provides a facility5 through which users may affect, interact, and/or operate a computer system. A user6 interface may communicate to and/or with other components in a component7 collection, including itself, and/or facilities of the like. Most frequently, the user8 interface communicates with operating systems, other program components, and/or the9 like. The user interface may contain, communicate, generate, obtain, and/or provide0 program component, system, user, and/or data communications, requests, and/or1 responses. I Web Browser
2 [o o i48] A Web browser component 1718 is a stored program component that is
3 executed by a CPU. The Web browser may be a conventional hypertext viewing
4 application such as Microsoft Internet Explorer or Netscape Navigator. Secure Web
5 browsing may be supplied with I28bit (or greater) encryption by way of HTTPS, SSL,
6 and/or the like. Web browsers allowing for the execution of program components
7 through facilities such as ActiveX, AJAX, (D)HTML, FLASH, Java, JavaScript, web
8 browser plug-in APIs (e.g., FireFox, Safari Plug-in, and/or the like APIs), and/or the
9 like. Web browsers and like information access tools may be integrated into PDAs,
10 cellular telephones, and/or other mobile devices. A Web browser may communicate to
I I and/or with other components in a component collection, including itself, and/or
12 facilities of the like. Most frequently, the Web browser communicates with information
13 servers, operating systems, integrated program components (e.g., plug-ins), and/or the
14 like; e.g., it may contain, communicate, generate, obtain, and/or provide program
15 component, system, user, and/or data communications, requests, and/or responses.
16 Also, in place of a Web browser and information server, a combined application may be
17 developed to perform similar operations of both. The combined application would
18 similarly affect the obtaining and the provision of information to users, user agents,
19 and/or the like from the PR Platform enabled nodes. The combined application may be
20 nugatory on systems employing standard Web browsers.
Mail Server
[00149] A mail server component 1721 is a stored program component that is executed by a CPU 1703. The mail server may be a conventional Internet mail server such as, but not limited to sendmail, Microsoft Exchange, and/or the like. The mail server may allow for the execution of program components through facilities such as ASP, ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, CGI scripts, Java, JavaScript, PERL, PHP, pipes, Python, WebObjects, and/or the like. The mail server may support communications protocols such as, but not limited to: Internet message access protocol (IMAP), Messaging Application Programming Interface (MAPI)/Microsoft Exchange, post office protocol (POP3), simple mail transfer protocol (SMTP), and/or the like. The mail server can route, forward, and process incoming and outgoing mail messages that have been sent, relayed and/or otherwise traversing through and/or to the PR Platform. [ 00150 ] Access to the PR Platform mail may be achieved through a number of APIs offered by the individual Web server components and/or the operating system. [ 00151] Also, a mail server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses. Mail Client
[ 00 152 ] A mail client component 1722 is a stored program component that is executed by a CPU 1703. The mail client may be a conventional mail viewing application such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Microsoft Outlook Express, Mozilla, Thunderbird, and/or the like. Mail clients may support a number of transfer protocols, such as: IMAP, Microsoft Exchange, POP3, SMTP, and/or the like. A mail client may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the mail client communicates with mail servers, operating systems, other mail clients, and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses. Generally, the mail client provides a facility to compose and transmit electronic mail messages. Cryptographic Server
[ooi53] A cryptographic server component 1720 is a stored program component that is executed by a CPU 1703, cryptographic processor 1726, cryptographic processor interface 1727, cryptographic processor device 1728, and/or the like. Cryptographic processor interfaces will allow for expedition of encryption and/or decryption requests by the cryptographic component; however, the cryptographic component, alternatively, may run on a conventional CPU. The cryptographic component allows for the encryption and/or decryption of provided data. The cryptographic component allows for both symmetric and asymmetric (e.g., Pretty Good Protection (PGP)) encryption and/or decryption. The cryptographic component may employ cryptographic techniques such as, but not limited to: digital certificates (e.g., X.509 authentication framework), digital signatures, dual signatures, enveloping, password access protection, public key management, and/or the like. The cryptographic component will facilitate numerous (encryption and/or decryption) security protocols such as, but not limited to: checksum, Data Encryption Standard (DES), Elliptical Curve Encryption (ECC), International Data Encryption Algorithm (IDEA), Message Digest 5 (MD5, which is a one way hash operation), passwords, Rivest Cipher (RC5), Rijndael, RSA (which is an Internet encryption and authentication system that uses an algorithm developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman), Secure Hash Algorithm (SHA), Secure Socket Layer (SSL), Secure Hypertext Transfer Protocol (HTTPS), and/or the like. Employing such encryption security protocols, the PR Platform may encrypt all incoming and/or outgoing communications and may serve as node within a virtual private network (VPN) with a wider communications network. The cryptographic component facilitates the process of "security authorization" whereby access to a resource is inhibited by a security protocol wherein the cryptographic component effects authorized access to the secured resource. In addition, the cryptographic component may provide unique identifiers of content, e.g., employing and MD5 hash to obtain a unique signature for an digital audio file. A cryptographic component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. The cryptographic component supports encryption schemes allowing for the secure transmission of information across a communications network to enable the PR Platform component to engage in secure transactions if so desired. The cryptographic component facilitates the secure accessing of resources on the PR Platform and facilitates the access of secured resources on remote systems; i.e., it may act as a client and/or server of secured resources. Most frequently, the cryptographic component communicates with information servers, operating systems, other program components, and/or the like. The cryptographic component may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. The PR Platform Database
[ 00 154] The PR Platform database component 1719 may be embodied in a database and its stored data. The database is a stored program component, which is executed by the CPU; the stored program component portion configuring the CPU to process the stored data. The database may be a conventional, fault tolerant, relational, scalable, secure database such as Oracle or Sybase. Relational databases are an extension of a flat file. Relational databases may include a series of related tables. The tables are interconnected via a key field. Use of the key field allows the combination of the tables by indexing against the key field; i.e., the key fields act as dimensional pivot points for combining information from various tables. Relationships generally identify links maintained between tables by matching primary keys. Primary keys represent fields that uniquely identify the rows of a table in a relational database. More precisely, they uniquely identify rows of a table on the "one" side of a one-to-many relationship. [ 00 155 ] Alternatively, the PR Platform database may be implemented using various standard data-structures, such as an array, hash, (linked) list, struct, structured text file (e.g., XML), table, and/or the like. Such data-structures may be stored in memory and/or in (structured) files. In another alternative, an object-oriented database may be used, such as Frontier, ObjectStore, Poet, Zope, and/or the like. Object databases can include a number of object collections that are grouped and/or linked together by common attributes; they may be related to other object collections by some common attributes. Object-oriented databases perform similarly to relational databases with the exception that objects are not just pieces of data but may have other types of capabilities encapsulated within a given object. If the PR Platform database is implemented as a data-structure, the use of the PR Platform database 1719 may be integrated into another component such as the PR Platform component 1735. Also, the database may be implemented as a mix of data structures, objects, and relational structures. Databases may be consolidated and/or distributed in countless variations through standard data processing techniques. Portions of databases, e.g., tables, may be exported and/or imported and thus decentralized and/or integrated.
[oo i56] In one embodiment, the database component 1719 includes several tables I7i9a-e. A User table 1719a includes fields such as, but not limited to: a user_ID, username, password, device ID, TID, mailing address, email address, telephone number, payment_ID, and/or the like. The user table may support and/or track multiple entity accounts on a PR Platform. A Recall table 1719b includes fields such as, but not limited to: recall_ID, product_SKU, product_model, product_name, importer, contact_id, phone, contact_time, contact_day, website, hazard, incidents, description, sold_location, sold_dates, remedy, template, confirmation_type, and/or the like. A Merchant table 1719c includes fields such as, but not limited to: merchant_ID, merchant_location, merchant_name, TID, product_SKU, product_modelm product_name, and/or the like. An Issuer table I7i9d includes fields such as, but not limited to: issuer_ID, issuer_name, accountholder_ID, product_SKU, TID, issuer_address, ip_address, mac_address, auth_key, port_num, security_settings_list and/or the like. An Acquirer table 1719ε includes fields such as, but not limited to: acquirer_ID, acquirer_name, acquirer_location, merchant_ID, product_SKU, TID, and/or the like. A Preferences table I7i9f includes fields such as, but not limited to: user_ID, notification_ID, reminder_settings, and/or the like. A Products table I7i9g includes fields such as, but not limited to: product_ID, product_SKU, product_UPC, product_model, product_name, product_image, product_suppler, product_manufacturer, TID, and/or the like. A Supplier table 1719b includes fields such as, but not limited to: supplier_ID, manufacturer_ID, product_ID, product_SKU, address, telephone number, website, email, and/or the like. A Pay Network table 17191 may include fields such as, but not limited to: request_id, timestamp, deposit_amount, batch_id, TID, clear_flag, deposit_account, transaction_ summary, payor_name, payor_account, and/or the like. A Transactions table I7i9j may include fields such as, but not limited to: order_id, user_id, timestamp, transaction_cost, purchase_details_list, num_products, products_list, product_type, product_params list, product_title, product_summary, quantity, user_id, client_id, client_ip, client_type, client_model, operating_system, os_version, app_installed_flag, user_id, account_firstname, account_lastname, account_type, account_num, billingaddress_ linei, billingaddress_line2, billing_ zipcode, billing_state, shipping_preferences, shippingaddress_linei, shippingaddress_ line2, shipping_zipcode, shipping_state, merchant_id, merchant_name, merchant_ auth_key, and/or the like. [ 00157] In one embodiment, the PR Platform database may interact with other database systems. For example, employing a distributed database system, queries and data access by search PR Platform component may treat the combination of the PR Platform database, an integrated data security layer database as a single database entity. [ 00 158 ] In one embodiment, user programs may contain various user interface primitives, which may serve to update the PR Platform. Also, various accounts may require custom database tables depending upon the environments and the types of clients the PR Platform may need to serve. It should be noted that any unique fields may be designated as a key field throughout. In an alternative embodiment, these tables have been decentralized into their own databases and their respective database controllers (i.e., individual database controllers for each of the above tables). Employing standard data processing techniques, one may further distribute the databases over several computer systemizations and/or storage devices. Similarly, configurations of the decentralized database controllers may be varied by consolidating and/or distributing the various database components I7i9a-h. The PR Platform may be configured to keep track of various settings, inputs, and parameters via database controllers. [00159] The PR Platform database may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the PR Platform database communicates with the PR Platform component, other program components, and/or the like. The database may contain, retain, and provide information regarding other nodes and data. The PR Platforms
[00160] The PR Platform component 1735 is a stored program component that is executed by a CPU. In one embodiment, the PR Platform component incorporates any and/or all combinations of the aspects of the PR Platform that was discussed in the previous figures. As such, the PR Platform affects accessing, obtaining and the provision of information, services, transactions, and/or the like across various communications networks. [ 00 161 ] The PR Platform transforms recall initiation requests 630, 830, product ID 832 and purchase processing request 1134 inputs via PR Platform components TRN, PRN and URN into recalled product information 635, 640, TID 655, 660, recall notification message 670, 680, account numbers 836 and recall notification 842 outputs. [ 00 162 ] The PR Platform component enabling access of information between nodes may be developed by employing standard development tools and languages such as, but not limited to: Apache components, Assembly, ActiveX, binary executables, (ANSI) (Objective-) C (++), C# and/or .NET, database adapters, CGI scripts, Java, JavaScript, mapping tools, procedural and object oriented development tools, PERL, PHP, Python, shell scripts, SQL commands, web application server extensions, web development environments and libraries (e.g., Microsoft's ActiveX; Adobe AIR, FLEX & FLASH; AJAX; (D)HTML; Dojo, Java; JavaScript; jQuery(UI); MooTools; Prototype; script.aculo.us; Simple Object Access Protocol (SOAP); SWFObject; Yahoo! User Interface; and/or the like), WebObjects, and/or the like. In one embodiment, the PR Platform server employs a cryptographic server to encrypt and decrypt communications. The PR Platform component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the PR Platform component communicates with the PR Platform database, operating systems, other program components, and/or the like. The PR Platform may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. Distributed PR Platforms
[00163] The structure and/or operation of any of the PR Platform node controller components may be combined, consolidated, and/or distributed in any number of ways to facilitate development and/or deployment. Similarly, the component collection may be combined in any number of ways to facilitate deployment and/or development. To accomplish this, one may integrate the components into a common code base or in a facility that can dynamically load the components on demand in an integrated fashion. [00164] The component collection may be consolidated and/or distributed in countless variations through standard data processing and/or development techniques. Multiple instances of any one of the program components in the program component collection may be instantiated on a single node, and/or across numerous nodes to improve performance through load-balancing and/or data-processing techniques. Furthermore, single instances may also be distributed across multiple controllers and/or storage devices; e.g., databases. All program component instances and controllers working in concert may do so through standard data processing communication techniques. [00165] The configuration of the PR Platform controller will depend on the context of system deployment. Factors such as, but not limited to, the budget, capacity, location, and/or use of the underlying hardware resources may affect deployment requirements and configuration. Regardless of if the configuration results in more consolidated and/or integrated program components, results in a more distributed series of program components, and/or results in some combination between a consolidated and distributed configuration, data may be communicated, obtained, and/or provided. Instances of components consolidated into a common code base from the program component collection may communicate, obtain, and/or provide data. This may be accomplished through intra-application data processing communication techniques such as, but not limited to: data referencing (e.g., pointers), internal messaging, object instance variable communication, shared memory space, variable passing, and/or the like.
[oo i66] If component collection components are discrete, separate, and/or external to one another, then communicating, obtaining, and/or providing data with and/or to other component components may be accomplished through inter-application data processing communication techniques such as, but not limited to: Application Program Interfaces (API) information passage; (distributed) Component Object Model ((D)COM), (Distributed) Object Linking and Embedding ((D)OLE), and/or the like), Common Object Request Broker Architecture (CORBA), Jini local and remote application program interfaces, JavaScript Object Notation (JSON), Remote Method Invocation (RMI), SOAP, process pipes, shared files, and/or the like. Messages sent between discrete component components for inter-application communication or within memory spaces of a singular component for intra-application communication may be facilitated through the creation and parsing of a grammar. A grammar may be developed by using development tools such as lex, yacc, XML, and/or the like, which allow for grammar generation and parsing capabilities, which in turn may form the basis of communication messages within and between components. [00167] For example, a grammar may be arranged to recognize the tokens of an HTTP post command, e.g.: w3c -post http : / / . . . Valuel
[00168] where Valuei is discerned as being a parameter because "http://" is part of the grammar syntax, and what follows is considered part of the post value. Similarly, with such a grammar, a variable "Valuel" may be inserted into an "http://" post command and then sent. The grammar syntax itself may be presented as structured data that is interpreted and/or otherwise used to generate the parsing mechanism (e.g., a syntax description text file as processed by lex, yacc, etc.). Also, once the parsing mechanism is generated and/or instantiated, it itself may process and/or parse structured data such as, but not limited to: character (e.g., tab) delineated text, HTML, structured text streams, XML, and/or the like structured data. In another embodiment, inter-application data processing protocols themselves may have integrated and/or readily available parsers (e.g., JSON, SOAP, and/or like parsers) that may be employed to parse (e.g., communications) data. Further, the parsing grammar may be used beyond message parsing, but may also be used to parse: databases, data collections, data stores, structured data, and/or the like. Again, the desired configuration will depend upon the context, environment, and requirements of system deployment. [0001] For example, in some implementations, the PR Platform controller may be executing a PHP script implementing a Secure Sockets Layer ("SSL") socket server via the information server, which listens to incoming communications on a server port to which a client may send data, e.g., data encoded in JSON format. Upon identifying an incoming communication, the PHP script may read the incoming message from the client device, parse the received JSON-encoded text data to extract information from the JSON-encoded text data into PHP script variables, and store the data (e.g., client identifying information, etc.) and/or extracted information in a relational database accessible using the Structured Query Language ("SQL"). An exemplary listing, written substantially in the form of PHP/SQL commands, to accept JSON-encoded input data from a client device via a SSL connection, parse the data to extract variables, and store the data to a database, is provided below: <?PHP
header (' Content-Type : text/plain');
// set ip address and port to listen to for incoming data
$address = 1192.168.0.100 ' ;
$port = 255;
// create a server-side SSL socket, listen for/accept incoming communication $sock = socket_create (AF_INET, SOCK_STREAM, 0);
socket_bind ($sock, $address, $port) or die ( 'Could not bind to address');
socket_listen ($sock) ;
$client = socket_accept ($sock) ;
// read input data from client device in 1024 byte blocks until end of message do {
$ input = "";
$input = socket_read ( $client, 1024);
$data .= $input;
} while($input != "") ;
// parse data to extract variables
$obj = j son_decode ( $data, true) ;
// store input data in a database
mysql_connect ( "201.408.185.132 " , $DBserver , $password) ; // access database server mysql_select ( "CLIENT_DB . SQL" ) ; // select database to append
mysql_query ("INSERT INTO UserTable (transmission)
VALUES ($data)"); // add data to UserTable table in a CLIENT database
mysql_close ( "CLIENT_DB. SQL" ) ; // close connection to database
? >
[00169] Also, the following resources may be used to provide example embodiments regarding SOAP parser implementation: http : / /www . xav . com/perl/ site/ lib/ SOAP/Parser . html
http : / /publib . boulder . ibm . com/ infocenter/tivihelp/v2rl/ index. j sp?topic=/com . ibm . IBMDI . doc/referenceguide295. htm
and other parser implementations: http : / /publib . boulder . ibm . com/ infocenter/tivihelp/v2rl/ index. j sp?topic=/com . ibm . IBMDI . doc/referenceguide259. htm
all of which are hereby expressly incorporated by reference. [00170] In order to address various issues and advance the art, the entirety of this application for PRODUCT RECALL PLATFORM APPARATUSES, METHODS AND SYSTEMS (including the Cover Page, Title, Headings, Field, Background, Summary, Brief Description of the Drawings, Detailed Description, Claims, Abstract, Figures, Appendices, and otherwise) shows, by way of illustration, various embodiments in which the claimed innovations may be practiced. The advantages and features of the application are of a representative sample of embodiments only, and are not exhaustive and/or exclusive. They are presented only to assist in understanding and teach the claimed principles. It should be understood that they are not representative of all claimed innovations. As such, certain aspects of the disclosure have not been discussed herein. That alternate embodiments may not have been presented for a specific portion of the innovations or that further un described alternate embodiments may be available for a portion is not to be considered a disclaimer of those alternate embodiments. It will be appreciated that many of those undescribed embodiments incorporate the same principles of the innovations and others are equivalent. Thus, it is to be understood that other embodiments may be utilized and functional, logical, operational, organizational, structural and/or topological modifications may be made without departing from the scope and/or spirit of the disclosure. As such, all examples and/or embodiments are deemed to be non-limiting throughout this disclosure. Also, no inference should be drawn regarding those embodiments discussed herein relative to those not discussed herein other than it is as such for purposes of reducing space and repetition. For instance, it is to be understood that the logical and/or topological structure of any combination of any program components (a component collection), other components and/or any present feature sets as described in the figures and/or throughout are not limited to a fixed operating order and/or arrangement, but rather, any disclosed order is exemplary and all equivalents, regardless of order, are contemplated by the disclosure. Furthermore, it is to be understood that such features are not limited to serial execution, but rather, any number of threads, processes, services, servers, and/or the like that may execute asynchronously, concurrently, in parallel, simultaneously, synchronously, and/or the like are contemplated by the disclosure. As such, some of these features may be mutually contradictory, in that they cannot be simultaneously present in a single embodiment. Similarly, some features are applicable to one aspect of the innovations, and inapplicable to others. In addition, the disclosure includes other innovations not presently claimed. Applicant reserves all rights in those presently unclaimed innovations including the right to claim such innovations, file additional applications, continuations, continuations in part, divisions, and/or the like thereof. As such, it should be understood that advantages, embodiments, examples, functional, features, logical, operational, organizational, structural, topological, and/or other aspects of the disclosure are not to be considered limitations on the disclosure as defined by the claims or limitations on equivalents to the claims. It is to be understood that, depending on the particular needs and/or characteristics of a PR Platform individual and/or enterprise user, database configuration and/or relational model, data type, data transmission and/or network framework, syntax structure, and/or the like, various embodiments of the PR Platform, may be implemented that enable a great deal of flexibility and customization. For example, aspects of the PR Platform may be adapted for analytics and targeting offers and other loyalty programs. While various embodiments and discussions of the PR Platform have been directed to recall monitoring and notification, however, it is to be understood that the embodiments described herein may be readily configured and/or customized for a wide variety of other applications and/or implementations.

Claims

C LAI M S
What is claimed is:
l. A processor-implemented product recall method, comprising:
receiving a plurality of product identifiers associated with a plurality of transactions;
querying a product recall database including a plurality of products for recall with the received plurality of product identifiers;
determining via a processor a matching product identifier based on the querying, wherein the matching product identifier is associated with one of the plurality of products for recall; and
generating via the processor a recall notification message identifying the product for recall associated with the matching product identifier.
2. The method of claim l, further comprising:
receiving a plurality of product recall requests identifying a plurality of products for recall; and
updating the product recall database to include the received plurality of products for recall.
3. The method of claim 1, further comprising:
identifying a consumer associated with purchase of the product for recall; and retrieving consumer notification preferences for the identified consumers.
4. The method of claim 3, further comprising:
sending the generated recall notification message to the identified consumer in accordance with the retrieved consumer notification preferences.
5. The method of claim 3, wherein the identifying consumer associated with purchase of the product for recall includes querying a payment processor database to determine a payment identifier associated with the purchase of the product for recall.
6. The method of claim 1, wherein the plurality of product identifiers associated with the plurality of transactions is received from a plurality of merchants.
7. The method of claim 1, wherein a product identifier is one of a Stock Keeping Unit (SKU) code, a Universal Product Code (UPC), a model number, a serial number and a batch number.
8. The method of claim 1, further comprising:
identifying a payment device associated with purchase of the product for recall;
identifying an issuer of the payment device; and
sending the generated recall notification message to the identified issuer for delivery to an owner of the identified payment device.
9. The method of claim 4, wherein the generated recall notification message includes a tracking object.
10. The method of claim 9, further comprising:
determining based on information from the tracking object that the generated recall notification message was received by the identified consumer.
11. The method of claim 1, wherein the plurality of product identifiers associated with a plurality of transactions is received from one or more consumers.
12. The method of claim 11, further comprising:
identifying consumers associated with the matching product identifier; retrieving notification preferences associated with each identified consumer;
sending the recall notification message identifying the product for recall to each identified consumer in accordance with the associated notification preferences.
13. The method of claim 1, wherein the plurality of transactions are conducted at one of a point of sale terminal and an online merchant.
14. The method of claim 1, further comprising:
identifying a user identifier associated with purchase of the product for recall; sending the generated recall notification message to a user associated with the user identifier.
15. The method of claim 1, wherein the user identifier includes a payment device identifier, user account information, shipping information and a unique identifier.
16. The method of claim 1, further comprising:
analyzing each of the plurality of product identifiers to determine an associated product type;
applying at least one recall rule to the associated product type to determine a recall type; and
monitoring recall for each of the plurality of product identifiers in accordance with the determine recall type.
17. The method of claim 1, further comprising:
receiving product recall registration information from a consumer.
18. The method of claim 17, further comprising:
receiving the product recall registration information at the time of product purchase.
19. The method of claim 17, further comprising: receiving the product recall registration information after product purchase.
20. The method of claim 17, further comprising:
receiving the product recall registration information prior to product purchase.
21. The method of claim 17, wherein the product recall registration request includes manufacturer identifier, product model identifier, serial number, lot number, geographical area code of purchase and user identifier.
22. A system, comprising:
a memory;
a processor disposed in communication with said memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the processor issues instructions to:
receive a plurality of product identifiers associated with a plurality of transactions;
query a product recall database including a plurality of products for recall with the received plurality of product identifiers;
determine a matching product identifier based on the querying, wherein the matching product identifier is associated with one of the plurality of products for recall; and generate a recall notification message identifying the product for recall associated with the matching product identifier.
23. A processor-readable medium storing processor-issuable instructions to:
receive a plurality of product identifiers associated with a plurality of transactions;
query a product recall database including a plurality of products for recall with the received plurality of product identifiers;
determine a matching product identifier based on the querying, wherein the matching product identifier is associated with one of the plurality of products for recall; and
generate a recall notification message identifying the product for recall associated with the matching product identifier.
24. An apparatus, comprising:
a memory;
a processor disposed in communication with said memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the processor issues instructions to:
receive a plurality of product identifiers associated with a plurality of transactions;
query a product recall database including a plurality of products for recall with the received plurality of product identifiers; determine a matching product identifier based on the querying, wherein the matching product identifier is associated with one of the plurality of products for recall; and
generate a recall notification message identifying the product for recall associated with the matching product identifier.
25. A processor-implemented product recall method, comprising:
receiving a purchase processing request including a plurality of product identifiers;
preselecting via a processor product identifiers that qualify for purchase processing based on at least one purchase processing rule;
querying a product recall database to determine if the preselected product identifiers match recalled product identifiers in the product recall database;
if at least one of the preselected product identifiers match the recalled product identifiers,
retrieving a recall message associated with the at least one of the preselected product identifiers;
retrieving notification preferences associated with the purchase processing request;
generating via the processor a recall notification message in accordance with the notification preferences and including the recall message associated with the at least one of the preselected product identifiers.
26. The method of claim 25, further comprising extracting the plurality of product identifiers from the purchase processing request before preselecting.
27. The method of claim 25, further comprising:
determining a recall monitoring duration for each of the preselected product identifiers; and
monitoring recall for each of the preselected product identifiers for the recall monitoring duration.
28. The method of claim 27, wherein the recall monitoring duration is determined based on at least one recall monitoring rule.
29. The method of claim 25, wherein the recall notification message includes manufacturer supplied information for the recalled product identifiers.
30. The method of claim 29, wherein the manufacturer supplied information includes a product identifier, hazard information, incident information, description of recall and instructions for consumers.
31. The method of claim 25, wherein the purchase processing request includes a plurality of barcode images associated with the plurality of product identifiers.
32. The method of claim 25, wherein the purchase processing request includes an image of a purchase receipt comprising the plurality of product identifiers.
33. A system, comprising:
a memory;
a processor disposed in communication with said memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the processor issues instructions to:
receive a purchase processing request including a plurality of product identifiers;
preselect product identifiers that qualify for purchase processing based on at least one purchase processing rule;
query a product recall database to determine if the preselected product identifiers match recalled product identifiers in the product recall database;
if at least one of the preselected product identifiers match the recalled product identifiers,
retrieve a recall message associated with the at least one of the preselected product identifiers;
retrieve notification preferences associated with the purchase processing request;
generate a recall notification message in accordance with the notification preferences and include the recall message associated with the at least one of the preselected product identifiers.
34. A processor-readable medium storing processor-issuable instructions to: receive a purchase processing request including a plurality of product identifiers;
preselect product identifiers that qualify for purchase processing based on at least one purchase processing rule;
query a product recall database to determine if the preselected product identifiers match recalled product identifiers in the product recall database;
if at least one of the preselected product identifiers match the recalled product identifiers,
retrieve a recall message associated with the at least one of the preselected product identifiers;
retrieve notification preferences associated with the purchase processing request;
generate a recall notification message in accordance with the notification preferences and include the recall message associated with the at least one of the preselected product identifiers.
35. An apparatus, comprising:
a memory;
a processor disposed in communication with said memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the processor issues instructions to:
receive a purchase processing request including a plurality of product identifiers; preselect product identifiers that qualify for purchase processing based on at least one purchase processing rule;
query a product recall database to determine if the preselected product identifiers match recalled product identifiers in the product recall database;
if at least one of the preselected product identifiers match the recalled product identifiers,
retrieve a recall message associated with the at least one of the preselected product identifiers;
retrieve notification preferences associated with the purchase processing request;
generate a recall notification message in accordance with the notification preferences and include the recall message associated with the at least one of the preselected product identifiers.
PCT/US2011/035268 2010-04-29 2011-05-04 Product recall platform apparatuses, methods and systems WO2012026997A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/770,607 2010-04-29
US12/770,607 US20100280963A1 (en) 2009-04-30 2010-04-29 Product recall service
US33133110P 2010-05-04 2010-05-04
US61/331,331 2010-05-04

Publications (1)

Publication Number Publication Date
WO2012026997A1 true WO2012026997A1 (en) 2012-03-01

Family

ID=45723719

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2011/035268 WO2012026997A1 (en) 2010-04-29 2011-05-04 Product recall platform apparatuses, methods and systems

Country Status (1)

Country Link
WO (1) WO2012026997A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056359A1 (en) * 2000-02-11 2001-12-27 Abreu Marcio Marc System and method for communicating product recall information, product warnings or other product-related information to users of products
US20070239502A1 (en) * 2003-07-02 2007-10-11 Sap Ag Automated recall management system for enterprise management applications
US20090144104A1 (en) * 2007-11-30 2009-06-04 Scott Kevin Johnson System and Method of Selectively Notifying Consumers of Product Recalls
US20090254535A1 (en) * 2008-04-02 2009-10-08 International Business Machines Corporation Search engine to improve product recall traceability activities

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056359A1 (en) * 2000-02-11 2001-12-27 Abreu Marcio Marc System and method for communicating product recall information, product warnings or other product-related information to users of products
US20070239502A1 (en) * 2003-07-02 2007-10-11 Sap Ag Automated recall management system for enterprise management applications
US20090144104A1 (en) * 2007-11-30 2009-06-04 Scott Kevin Johnson System and Method of Selectively Notifying Consumers of Product Recalls
US20090254535A1 (en) * 2008-04-02 2009-10-08 International Business Machines Corporation Search engine to improve product recall traceability activities

Similar Documents

Publication Publication Date Title
US10325268B2 (en) Product recall platform apparatuses, methods and systems
US11250352B2 (en) Secure anonymous transaction apparatuses, methods and systems
US11727392B2 (en) Multi-purpose virtual card transaction apparatuses, methods and systems
US11311797B2 (en) Dynamic payment optimization apparatuses, methods and systems
US20210027279A1 (en) Cloud-based virtual wallet nfc apparatuses, methods and systems
US10621605B2 (en) Electronic coupon issuance and redemption apparatuses, methods and systems
US8577803B2 (en) Virtual wallet card selection apparatuses, methods and systems
AU2018201550A1 (en) In-person one-tap purchasing apparatuses, methods and systems
US20130159081A1 (en) Bidirectional bandwidth reducing notifications and targeted incentive platform apparatuses, methods and systems
US20120209749A1 (en) Snap mobile payment apparatuses, methods and systems
AU2012278963A1 (en) Electronic wallet checkout platform apparatuses, methods and systems
WO2013009660A1 (en) Bidirectional bandwidth reducing notifications and targeted incentive platform apparatuses, methods and systems
WO2012026997A1 (en) Product recall platform apparatuses, methods and systems
US20180129983A1 (en) Rewards system for rewarding users for booking lodging

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11820296

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11820296

Country of ref document: EP

Kind code of ref document: A1