Alert prioritization logic
Summary by NHIP
Dynamic Alert Prioritization System
The system receives transaction data satisfying multiple alert triggers with associated priority values and determines a combined priority. It dynamically selects an alternate delivery channel based on user device reachability and sends messages via that channel instead of the default.
Claim Score by NHIP
Abstract
A first embodiment of the present invention relates to systems and methods for determining a priority for a set of alert triggers and performing additional processing based on the determined priority. In some embodiments, additional processing may include generating and sending of alert messages. In other embodiments, additional processing may further include determining that the generating and sending of alert messages are to be delayed until a later time. In yet other embodiments, additional processing may include determining that no alert message is to be generated and sent. A second embodiment of the present invention relates to systems and methods for dynamically selecting a delivery channel and generating an alert message for the selected delivery channel. In some embodiments, the alert message may be formatted based on the selected delivery channel. According to one embodiment, the alert message may be generated based on a compact protocol format. When the alert message is received by a mobile device, the mobile device may use the alert message to generate a second alert message.

Term
3.6 yearsleft in the term
Expires 21 April 2030.
- Priority
- Filed
- Granted
- Today
- Expires
20 claims: 2 independent, 18 dependent
- 1A computing system comprising:a processor;and a computer-readable storage medium coupled to the processor, the computer-readable storage medium comprising code executable by the processor for implementing a set of operations including: receiving an authorization request message for a transaction that satisfies multiple alert triggers including a first alert trigger and a second alert trigger, the authorization request message including at least first transaction data satisfying the first alert trigger associated with a first priority value and second transaction data satisfying the second alert trigger associated with a second priority value;determining priority values corresponding to the multiple alert triggers satisfied by the transaction;determining a priority of the multiple alert triggers based on the priority values corresponding to the multiple alert triggers;generating one or more alert messages based on the priority of the alert triggers;dynamically selecting an alternate delivery channel that is different than a default delivery channel assigned to the priority of the alert triggers, the alternate delivery channel being dynamically selected based on reachability of a user device;and sending at least one alert message from the generated one or more alert messages to the user device via the alternate delivery channel.
- 11Broadest claimClaim Score 38, average(NHIP)A method comprising:receiving, by a computing system, an authorization request message for a transaction that satisfies multiple alert triggers including a first alert trigger and a second alert trigger, the authorization request message including at least first transaction data satisfying the first alert trigger associated with a first priority value and second transaction data satisfying the second alert trigger associated with a second priority value;determining, by the computing system, priority values corresponding to the multiple alert triggers satisfied by the transaction;determining, by the computing system, a priority of the multiple alert triggers based on the priority values corresponding to the multiple alert triggers;generating, by the computing system, one or more alert messages based on the priority of the alert triggers;dynamically, by the computing system, selecting an alternate delivery channel that is different than a default delivery channel assigned to the priority of the alert triggers, the alternate delivery channel being dynamically selected based on reachability of a user device;and sending, by the computing system, at least one alert message from the generated one or more alert messages to the user device via the alternate delivery channel.
Independent claims2
180 paragraphs in 5 sections, as filed
CROSS-REFERENCES TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 15/194,335, filed Jun. 27, 2016, which is a continuation of U.S. patent application Ser. No. 12/764,662, filed Apr. 21, 2010, which claims benefit under 35 U.S.C. § 119(e) of U.S. provisional patent application No. 61/173,371, entitled “Alerts Based System and Method,” filed Apr. 28, 2009, the entire disclosures of which are incorporated herein by reference for all purposes.
BACKGROUND
There are many occasions where a user may want to be notified when his or her credit card is being used. For example, a user may want to receive an alert message regarding a recent transaction conducted out of the country, at an automated teller machine (ATM), or where the transaction exceeds a certain amount. When a transaction meets one of these criteria or alert triggers, the user may wish to have the resulting alert message sent to his or her mobile phone or email account.
In some situations, a user may want to receive an alert message differently based on the alert message's relative importance. For example, a user may make a minor gasoline purchase for $20. Because the purchase may be relatively unimportant, the user may wish to receive an alert message via email at the end of the day. The same user may also make a large electronics purchase for $1,000. Because the purchase may be relatively important, the user may want to receive a telephone call immediately following the purchase.
It would be desirable to improve upon existing alert messaging systems to make the delivery of alert messages more efficient and to optimize the use of system components in an alert messaging system.
Embodiments of the invention address these and other problems, individually and collectively.
BRIEF SUMMARY
Embodiments of the present invention disclosed herein include systems and methods for prioritizing alert triggers and performing additional processing based on the priority of the alert triggers. Embodiments of the present invention disclosed herein also include systems and methods for dynamically selecting a delivery channel and generating an alert message based on the selected delivery channel. Embodiments of the present invention can be implemented using one or more computer apparatuses and databases.
In one embodiment, transaction data associated with a transaction is received at a computer apparatus. The computer apparatus accesses a database comprising of one or more alert triggers. The computer apparatus then determines a set of alert triggers that applies to the transaction data. The computer apparatus subsequently determines a priority of the triggers in the set of alert triggers, and performs additional processing based on the priority.
In another embodiment, transaction data associated with a transaction is received at a computer apparatus. The computer apparatus accesses a database comprising of alert data including information related to one or more delivery channels. The computer apparatus then dynamically selects one or more delivery channels based on the alert data and a set of criteria. The computer apparatus subsequently generates an alert message based on the selected delivery channel.
One embodiment of the invention is directed to a system and method for performing a transaction with a portable consumer device and receiving a generated alert message.
Another embodiment of the invention is directed to an enrollment process that a user undertakes to subscribe to a messaging service provided by embodiments of the present invention.
Yet another embodiment of the invention is directed to a system and method for prioritizing alert triggers. As an illustration, a user may access a web site and prioritize alert triggers based on the user's preferences. For example, a user may be provided with a list of four triggers. The user may subsequently rank the alert triggers. Embodiments may later use this list of prioritized alert triggers in performing processing, such as determining if an alert message is to be sent in real-time.
These and other details regarding embodiments of the invention are provided below.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> shows an alerts messaging system, according to an embodiment of the invention.
<figref idref="DRAWINGS">FIG. 2</figref> shows a subset of the alerts messaging system, according to an embodiment of the invention.
<figref idref="DRAWINGS">FIG. 3</figref> shows an exemplary mobile device, according to an embodiment of the invention.
<figref idref="DRAWINGS">FIG. 4</figref> shows a flowchart illustrating the steps involved in processing alert triggers and transaction data, according to a first embodiment of the invention.
<figref idref="DRAWINGS">FIG. 5(<i>a</i>)</figref> shows an alert triggers selection and prioritization interface prior to configuration, according to a first embodiment of the invention.
<figref idref="DRAWINGS">FIG. 5(<i>b</i>)</figref> shows an alert triggers selection and prioritization interface after configuration, according to a first embodiment of the invention.
<figref idref="DRAWINGS">FIG. 6</figref> shows a flowchart illustrating the steps involved in selecting and generating delivery channels, according to a second embodiment of the invention.
<figref idref="DRAWINGS">FIG. 7</figref> shows a system according to an embodiment of the invention.
DETAILED DESCRIPTION
Embodiments of the invention are directed to a system and method for prioritizing alert triggers and performing processing based on the priority of the alert triggers. Embodiments are also directed to a system and method for dynamically selecting a delivery channel and generating an alert message based on the selected delivery channel.
According to a first embodiment, the method comprises receiving transaction data for a transaction. The transaction data may be present in an authorization request message. For example, a user can conduct a transaction using a portable consumer device such as a credit card. The authorization request message comprising the transaction data is sent to an acquirer, and then to a payment processing network. The payment processing network then determines if the user is enrolled to receive alert messages. If the user is enrolled, then the transaction data, which may include data elements such as account information and merchant data, is sent to an Internet protocol (IP) gateway. The IP gateway subsequently receives the transaction data.
Upon receiving the transaction data from the payment processing network, a notification server computer in the IP gateway accesses a database, which can comprise alert data. Alert data may be provided by the user, an issuer, a payment processing network, or any combination thereof. The alert data may include information that may be used to select one or more alert triggers. The one or more alert triggers may be based on transaction threshold amounts, ATM usage, out of country transactions, card not present or online transactions, credits or refunds, cash back earned transactions, recurring payments, declined transactions, fuel purchases, restaurant purchases (including quick service or formal), travel related purchases (such as lodging, car rental, and ticket purchase transactions), and the like. The alert data may also include priority information for the one or more alert triggers.
The notification server computer may check each selected alert trigger against the transaction data received from the payment processing network. Through checking each selected alert trigger, the notification server computer may determine a set of alert triggers that applies to the transaction. The notification server computer may then determine a priority for the set of alert triggers based on the alert data.
Subsequently, the notification server computer may perform additional processing. Illustratively, the notification server computer may use the priority to select one or more delivery channels. For example, the notification server computer may determine, based on the priority, that an alert message is to be sent to a user's mobile phone via short message service (SMS). The notification server computer may also format and generate one or more alert messages based on the priority. In some embodiments, the notification server computer may suppress the generation and sending of one or more alert messages until a later time. In further embodiments, the notification server computer may determine that one or more alert messages are not to be sent at all.
Relative to conventional messaging services, embodiments of the present invention provide various advantages. In particular, embodiments can effectively reduce the number of redundant alert messages while also improving communication with users. For instance, in situations where multiple alert triggers apply to a single transaction, conventional messaging services may transmit multiple alert messages reporting on the same transaction. Receiving several messages at once, however, is often annoying to users. As an alternative, messaging services could blindly send a single alert message. However, doing so may cause an associated reduction in the likelihood that the user is effectively notified. For example, a messaging service may deliver a single alert message regarding an important $1,000 ATM transaction to a user's rarely accessed email account. In such a case, the user may not be notified about the relatively important transaction until days later.
In contrast, by determining a priority for alert triggers, embodiments of the invention can send fewer alert messages while at the same time allowing for effective communication with users. In particular, the priority may be used to intelligently generate a message including all necessary information. Embodiments may also use the priority to effectively send an alert message in a manner that matches the relative importance of a transaction. For example, a message regarding a relatively unimportant $10 transaction may be sent to a user's rarely accessed email account at the end of a day. A message regarding a relatively important $1,000 transaction may be sent to a user's more frequently checked mobile phone via SMS. In some embodiments, with the exception of providing priority information (in cases where the user supplies the priority information), the intelligent generation and routing of messages may be performed without specific input from the user.
According to a second embodiment, the method comprises receiving transaction data for a transaction. The transaction data may be present in an authorization request message. For example, a user can conduct a transaction using a portable consumer device such as a credit card. The authorization request message comprising the transaction data is sent to an acquirer, and then to a payment processing network. The payment processing network then determines if the user is enrolled to receive alert messages. If the user is enrolled, then the transaction data, which may include data elements such as account information and merchant data, is sent to an Internet protocol (IP) gateway. The IP gateway subsequently receives the transaction data.
Upon receiving the transaction data from the payment processing network, a notification server computer in the IP gateway accesses a database, which can comprise of alert data. Alert data may be provided by the user, an issuer, a payment processing network, or any combination thereof. The alert data may include delivery channel information, such as mobile phone numbers, web service identifiers (such as user names), and the like.
After accessing the database, the notification server computer may determine if one or more alert triggers apply to the transaction data. If at least one trigger applies to the transaction data, the notification server computer dynamically selects one or more delivery channels. The notification server computer may dynamically select each channel based on reach-ability and cost criteria. The selection of the channels may be performed by the notification sever computer without user initiated configuration of the criteria. The notification server computer may thereafter generate an alert message based on each selected delivery channel. In particular, each generated alert message may adhere to the technical requirements and/or features of its associated delivery channel. Additionally, the level of detail provided by each alert message may vary depending on the delivery channel.
Relative to conventional systems, embodiments of the present invention reduce alert message delivery costs and improve communication with users. Embodiments also decrease the amount of alerts configuration required by the user. More specifically, embodiments can select delivery channels in a manner that reduces costs for all entities. Embodiments may further improve user communication by identifying the channels that may be used to immediately reach a user. In addition to the aforementioned advantages, embodiments also allow users to receive alert messages without needing to configure the system. For instance, a user interested in reducing delivery costs does not need to configure each of his or her low priority alert messages to be sent via a low cost delivery channel. Instead, embodiments would dynamically identify and select a suitable low cost delivery channel at the time of message delivery.
Other specific examples of embodiments of the invention are described in further detail below.
I. System
<figref idref="DRAWINGS">FIG. 1</figref> is a diagram illustrating an alerts messaging system <b>100</b>, in accordance with an embodiment of the invention. The alerts messaging system <b>100</b> includes a user <b>110</b>, a portable consumer device <b>120</b>, a merchant <b>130</b>, an access device <b>132</b>, an acquirer <b>140</b>, a payment processing network <b>150</b>, an issuer <b>160</b>, an IP Gateway <b>170</b>, mobile device carriers <b>190</b>, e-mail servers <b>180</b>, a mobile device <b>200</b>, a user computer <b>210</b>, and web services <b>220</b>. Although one user <b>110</b>, one mobile device <b>200</b>, one user computer <b>210</b>, one merchant <b>130</b>, one acquirer <b>140</b>, and one issuer <b>160</b> are shown, there may be any suitable number of any of these entities in the alerts messaging system <b>100</b>.
User <b>110</b> is in operative communication with the portable consumer device <b>120</b>. Merchant <b>130</b> has an access device <b>132</b> for interacting with the consumer portable device <b>120</b> and acquirer <b>140</b> associated with merchant <b>130</b>. Acquirer <b>140</b> is in communication with issuer <b>160</b> through payment processing network <b>150</b>.
The alerts messaging system <b>100</b> also includes a mobile device <b>200</b> in operative communication with user <b>110</b> for displaying alert messages to the user <b>110</b>.
The alerts messaging system <b>100</b> also includes an IP Gateway <b>170</b> that is in communication with payment processing network <b>150</b>. IP Gateway <b>170</b> receives the transaction data from payment processing network <b>150</b>, and subsequently processes the transaction data. IP Gateway <b>170</b> is also in communication with the mobile device carriers <b>190</b>, e-mail servers <b>180</b>, and web services <b>220</b>. The mobile device carriers <b>190</b> are in operative communication with the mobile device <b>200</b>, and the mail servers <b>180</b> are in operative communication with the user computer <b>210</b>. The alert messages that are generated from IP Gateway <b>170</b> are sent to the mobile device carriers <b>190</b> and/or mail servers <b>180</b> to be sent to the mobile device <b>200</b>, and/or to be accessed by the user computer <b>210</b>. The web services <b>220</b> are also in operative communication with the user <b>110</b> for enrolling the user <b>110</b> in the messaging service provided by the alerts messaging system <b>100</b>.
Each of the components shown in <figref idref="DRAWINGS">FIG. 1</figref> are described in further detail below.
<figref idref="DRAWINGS">FIG. 2</figref> is a diagram illustrating a subsystem <b>101</b> of the alerts messaging system <b>100</b>. <figref idref="DRAWINGS">FIG. 2</figref> illustrates more details about the IP Gateway <b>170</b>. The IP Gateway <b>170</b> includes a notification server computer <b>171</b> having a computer-readable medium (CRM) <b>172</b>, and a processor (not shown) that is coupled to the CRM <b>172</b>. Although one CRM <b>172</b> is shown in <figref idref="DRAWINGS">FIG. 2</figref>, the notification server computer <b>171</b> may house more than one CRM as needed. The notification server computer <b>171</b> is in communication with database <b>173</b>. In some embodiments, database <b>173</b> may be included in the notification server computer <b>171</b>. Database <b>173</b> contains alert data. The alert data includes transaction data <b>174</b>, cardholder enrollment data <b>175</b>, and issuer data <b>176</b>. Cardholder enrollment data <b>175</b> is synchronized with the enrollment database <b>152</b> via the synchronization link <b>156</b>. The enrollment database <b>152</b> contains data related to users who are enrolled in the messaging service. Data related to users include one or more sets of alert triggers. Data may also include delivery channel information.
As shown in <figref idref="DRAWINGS">FIG. 2</figref>, IP Gateway <b>170</b> is in communication with payment processing network <b>150</b>, and web services <b>220</b> via the network connection <b>154</b> which may be in any suitable form. The network connection <b>154</b> may include, for example, at least a portion of the Internet. Delivery channel logic <b>177</b> is in communication with IP Gateway <b>170</b>, mobile service carriers <b>190</b>, e-mail servers <b>180</b>, and other delivery channels <b>178</b>.
Merchant <b>130</b> refers to any suitable entity or entities that make a transaction with user <b>110</b>. Merchant <b>130</b> may use any suitable method to make the transaction. For example, merchant <b>130</b> may use an e-commerce business to allow the transaction to be conducted by merchant <b>130</b> through the Internet. Other examples of merchant <b>130</b> include a department store, a gas station, a drug store, a grocery store, or other suitable business.
Access device <b>132</b> may be any suitable device for communicating with merchant <b>130</b> and for interacting with portable consumer device <b>120</b>. Access device <b>132</b> can be in any suitable location such as at the same location as merchant <b>130</b>. Access device <b>132</b> may be in any suitable form. Some examples of access devices <b>132</b> include POS devices, cellular phones, PDAs, personal computers (PCs), tablet PCs, hand-held specialized readers, set-top boxes, electronic cash registers (ECRs), automated teller machines (ATMs), virtual cash registers (VCRs), kiosks, security systems, access systems, websites, and the like. Access device <b>132</b> may use any suitable contact or contactless mode of operation to send or receive data from portable consumer devices <b>120</b>.
If access device <b>132</b> is a POS terminal, any suitable POS terminal may be used and may include a reader, a processor, and a computer-readable medium. Reader may include any suitable contact or contactless mode of operation. For example, exemplary card readers can include radio frequency (RF) antennas, optical scanners, bar code readers, magnetic stripe readers, etc. to interact with portable consumer device <b>120</b>.
Acquirer <b>140</b> refers to any suitable entity that has an account with merchant <b>130</b>. In some embodiments, issuer <b>160</b> may also be acquirer <b>140</b>.
Payment processing network <b>150</b> refers to a network of suitable entities that have information related to an account associated with portable consumer device <b>120</b>. This information includes data associated with the account on portable consumer device <b>120</b> such as profile information, data, and other suitable information.
Payment processing network <b>150</b> may have or operate a server computer and may include a database. The database may include any hardware, software, firmware, or combination of the preceding for storing and facilitating retrieval of information. Also, the database may use any of a variety of data structures, arrangements, and compilations to store and facilitate retrieval of information. The server computer may be coupled to the database and may include any hardware, software, other logic, or combination of the preceding for servicing the requests from one or more client computers. Server computer may use any of a variety of computing structures, arrangements, and compilations for servicing the requests from one or more client computers.
Payment processing network <b>150</b> may include data processing subsystems, networks, and operations used to support and deliver authorization services, exception file services, and clearing and settlement services. An exemplary payment processing network <b>150</b> may be VisaNet™. Networks that include VisaNet™ are able to process credit card transactions, debit card transactions, and other types of commercial transactions. VisaNet™, in particular, includes a VIP system (Visa Integrated Payments system) which processes authorization requests and a Base II system which performs clearing and settlement services. Payment processing network <b>150</b> may use any suitable wired or wireless network, including the Internet.
Issuer <b>160</b> refers to any suitable entity that may open and maintain an account associated with portable consumer device <b>120</b> for user <b>110</b>. Some examples of issuers may be a bank, a business entity such as a retail store, or a governmental entity. In many cases, issuer <b>160</b> may also issue portable consumer device <b>120</b> associated with the account to user <b>110</b>.
IP Gateway <b>170</b> refers to an entity that processes transaction data and alerts triggers. IP Gateway <b>170</b> may additionally generate and send alert messages. IP gateway <b>170</b> may include one or more servers and databases for generation of the intelligent alert messages and retrieval of data. IP Gateway <b>170</b> may be part of the payment processing network <b>150</b> or may be a separate entity in communication with payment processing network <b>150</b>.
Notification server computer <b>171</b> may be a powerful computer or cluster of computers. For example, the server computer can be a large mainframe, a minicomputer cluster, or a group of servers functioning as a unit. In one example, the notification server computer may be a database server coupled to a Web server. Notification server computer <b>171</b> includes a computer-readable medium (CRM) <b>172</b> and a processor (not shown) coupled to the CRM <b>172</b>.
Database <b>173</b> may be in the form of one or more server computers for storage of data. It may also be in the form of one or more electronic storage units (stand alone hard drives) capable of storing electronic data.
Delivery channel logic <b>177</b> may be in the form of an application program that sends the intelligent alert messages to the appropriate delivery channels. The delivery channel logic <b>177</b> may be part of the IP gateway <b>170</b> or the payment processing network <b>150</b>. The delivery channel logic <b>177</b> may run on the notification server computer <b>171</b> or may run on a delivery channel logic server computer (not shown). The delivery channel logic server computer may include a computer-readable medium (CRM), and a processor that is coupled to the CRM (both not shown). The delivery channel logic server computer may be in communication with the notification server computer <b>171</b>. In some embodiments, the delivery channel logic server computer may be a powerful computer or cluster of computers. In some embodiments, a database (not shown) is included in the delivery channel logic server computer. The database may contain alert data. The alert data may include transaction data <b>174</b>, cardholder enrollment data <b>175</b>, and issuer data <b>176</b>. The alert data may be received from the notification server computer <b>171</b>.
E-mail servers <b>180</b> are server computers configured to receive an e-mail from a network connection and store the e-mail in memory for future retrieval.
Mobile device carriers <b>190</b> refer to entities that provide wireless infrastructures for wireless data transfer and communication via cellular phone or other mobile devices. Examples of such entities include AT&T™, Verizon Wireless™, T-Mobile™, etc.
Mobile device <b>200</b> may be in any suitable form. For example, mobile device <b>200</b> can be hand-held and compact so that it can fit into a consumer's wallet and/or pocket (e.g., pocket-sized). Some examples of mobile device <b>200</b> include desktop or laptop computers, cellular phones, personal digital assistants (PDAs), pagers, payment cards, security cards, access cards, smart media, transponders, and the like. In some embodiments, mobile device <b>200</b> and portable consumer device <b>120</b> are embodied in the same device. <figref idref="DRAWINGS">FIG. 3</figref> shows an exemplary mobile device <b>300</b>. The mobile device <b>300</b> may include a computer-readable medium <b>303</b> (CRM) and a processor <b>302</b> that is coupled to the CRM. The mobile device <b>200</b> may further include an interpretative messaging engine for processing compact protocol formatted messages (not shown). The interpretative messaging engine may be embodied on the CRM.
User computer <b>210</b> may be a personal computer or a laptop. The User computer <b>210</b> may run an operating system such as Microsoft Windows™ and may have a suitable browser such as Internet Explorer™.
Web services <b>220</b> may be in the form of a server and a website which allows users to enroll in the messaging service. Web services <b>220</b> may be provided by the issuer <b>160</b> or the payment processing network <b>150</b>. Web services <b>220</b> may additionally be provided by third party services such as Facebook™, Skype™, and America Online™.
User Devices may include mobile device <b>200</b>, user computer <b>210</b>, and the like.
II. Method
A. Prioritization Methods
Methods according to embodiments of the invention can use any suitable type of alert triggers and can prioritize alert triggers in any suitable manner. Exemplary alert triggers can be based on transaction value (e.g., a purchase made over a predetermined threshold), a transaction type (e.g., online or fee incurring), a geographic location (e.g., out of the United States), time of day (e.g., only during the day), by merchant type (e.g., only provide alerts when purchases are made at electronics stores), etc.
Alert trigger prioritization can also occur in any suitable manner. Exemplary prioritizations may include where location based triggers (such as the out of country trigger) take precedence over other triggers, triggers more inclined to indicate security problems (such as fraud) take precedence over other triggers, triggers indicating transactions with high monetary values take precedence over other triggers, triggers indicating transactions with particular merchants take precedence over other transactions, triggers indicating an online or card not present transaction take precedence over other triggers, triggers provided and/or configured by the issuer <b>160</b> take precedence over other triggers, triggers provided and/or configured by the payment processing network <b>150</b> take precedence over other triggers, triggers indicating transactions initiated with certain user devices take precedence over other triggers, triggers with high risk profiles take precedence over other triggers, triggers where users incur associated transaction fees (such as ATM or international transaction fees) may take precedence over other triggers, monetary threshold triggers may take precedence over other triggers, etc. It should also be appreciated that prioritization may also occur using any combination of the above. For example, in a group of three triggers, an out of country trigger may have the highest priority. An online or card not present trigger may have the next highest priority. Lastly, an ATM use trigger may have the lowest priority.
<figref idref="DRAWINGS">FIG. 4</figref> is a flowchart of a first embodiment that illustrates the process from configuration of the alert triggers to processing of alert triggers and transaction data. As shown in <figref idref="DRAWINGS">FIG. 4</figref>, the issuer <b>160</b> or payment processing network <b>150</b> initially configures the alert triggers (step <b>401</b>). Next, the user <b>110</b> enrolls in the messaging service provided by the alerts messaging system <b>100</b> (step <b>402</b>). The user data that the user <b>110</b> provides during the enrollment process is then sent to the database <b>173</b> and incorporated with alert data (step <b>403</b>). The user <b>110</b> then performs a transaction using the consumer portable device <b>120</b> (step <b>404</b>). Next, the IP Gateway <b>170</b> receives the transaction data <b>174</b> from the payment processing network <b>150</b> (step <b>405</b>). After receiving the transaction data <b>174</b>, the notification server computer <b>171</b> in the IP Gateway <b>170</b> accesses the database <b>173</b> that contains the alert data (step <b>406</b>). The alert data includes one or more alert triggers. The notification server computer <b>171</b> then determines a set of the one or more alert triggers that applies to the transaction based on the transaction data <b>174</b> (steps <b>407</b>). Next, the notification server computer <b>171</b> determines the priority of the set of alert triggers (step <b>408</b>). Finally, the notification server computer <b>171</b> performs additional processing based on the priority of the set of alert triggers (step <b>409</b>).
1. Initial Configuration and Prioritization of the Alert Triggers
In some embodiments, the issuer <b>160</b> and/or the payment processing network <b>150</b> may configure and prioritize (step <b>401</b> in <figref idref="DRAWINGS">FIG. 4</figref>) the alert triggers prior to the user <b>110</b> enrolling in the messaging service provided by the alerts messaging system <b>100</b>. In particular, the issuer <b>160</b> and/or the payment processing network <b>150</b> may enable certain alert triggers and remove or disable other alert triggers. The issuer <b>160</b> and/or the payment processing network <b>150</b> may additionally set a priority for the alert triggers. In particular, embodiments may provide a list of alert triggers. The list of triggers may be presented in a configuration interface. The alert triggers in the list may be prioritized using the interface by the issuer <b>160</b> and/or the payment processing network <b>150</b>. In some embodiments, the list may include priority values associated with each alert trigger. The priority values may be used to indicate the priority of the alert triggers. In one embodiment, alert triggers associated with higher priority values may have higher priority. In another embodiment, alert triggers associated with lower priority values may have higher priority.
In certain embodiments, the issuer <b>160</b> and/or the payment processing network <b>150</b> may associate certain categories of alert triggers or ranges of priority values with certain behavior. For instance, alert messages associated with alert triggers with priority values between 0-20 may not be sent until the end of the day.
In certain embodiments, the list of alert triggers may be a sliding scale. In some embodiments, the list may include open slots or unassigned priority values between alert triggers. For example, an alert trigger with the highest priority value in the list may be assigned a value of 50. The alert trigger with the next highest priority value may be assigned a value of 30. As a result, there would be 19 unassigned priority values between the alert triggers. Open slots or unassigned priority values may be used for alert triggers that may be added in the future. For instance, a newly added alert trigger may be assigned a priority value of 35.
The configuration and prioritization set by issuer <b>160</b> and/or payment processing network <b>150</b> may define the default alert triggers settings for the user <b>110</b> at the time the user <b>110</b> enrolls in the messaging service. The issuer <b>160</b> and/or payment processing network <b>150</b> may restrict the extent to which the user <b>110</b> may configure and prioritize the alert triggers. For example, the issuer <b>160</b> may restrict the user <b>110</b> from configuring a transaction amount alert trigger to have a threshold below $20. The issuer <b>160</b> may further prevent the user <b>110</b> from making modifications to the priority of the alert triggers and from disabling certain alert triggers. In certain embodiments, the issuer <b>160</b> and/or the payment processing network <b>150</b> may configure and prioritize alert triggers at any time including after the user <b>110</b> has enrolled in the system.
In certain embodiments, the invention may automatically configure and prioritize the alert triggers comprising the database <b>173</b>. Embodiments may determine the priority of the alert triggers based on certain criteria, such as the relative risk of each alert trigger.
In some embodiments, the alert triggers and their associated configuration and prioritization information may be stored in database <b>173</b> as alert data, which is used by the notification server computer <b>171</b> and/or delivery channel logic <b>177</b>.
2. Enrollment
In some embodiments of the present invention, the user <b>110</b> may enroll for the messaging service (step <b>402</b> in <figref idref="DRAWINGS">FIG. 4</figref>) provided by the alerts messaging system <b>100</b> through multiple ways. In some embodiments, the user <b>110</b> may be enrolled automatically by the issuer <b>160</b> that issues the portable consumer device <b>120</b>. Enrollment may be done in a batch mode, by file delivery from issuer <b>160</b> or by file delivery from some other party. In other embodiments, the issuer <b>160</b> or the payment processing network <b>150</b> may provide the messaging service as an option to the user <b>110</b> at which time the user <b>110</b> may enroll in the messaging service either by contacting a customer service representative over the phone (provided either by the issuer <b>160</b> or payment processing network <b>150</b>), or by accessing a web site and filling out an online application. In certain implementations, the web site may be hosted by one entity but can redirect the user <b>110</b> to a site hosted by another entity.
During the enrollment process, the user <b>110</b> provides information that will be used by the alerts messaging system <b>100</b> during the processing of the transaction data <b>174</b>. The user <b>110</b> may provide the information to the alerts messaging system <b>100</b>. This may occur either by accessing a website and filling out an online application or by contacting a customer service representative (e.g., using the phone). The user <b>110</b> may later access the web site or contact the issuer <b>160</b> to change the information provided at any time.
Information provided by the user <b>110</b> may include delivery channel information. In particular, the user <b>110</b> may provide information including web service identifiers (such as account user names), mobile phone numbers, voice over IP service account identifiers, email addresses, and the like. The user <b>110</b> may additionally provide service plan information such as mobile device voice and data plans. The user <b>110</b> may further provide user device characteristics information such as make and model information.
The user <b>110</b> may additionally provide information about the alert triggers he or she wants to be enabled or have checked when a transaction is received by the alerts messaging system <b>100</b>. The user <b>110</b> may further provide information regarding the delivery channels or delivery methods for particular alert triggers. For example, the user <b>110</b> may specify that when an out of country alert trigger applies to a transaction, an alert message is to be sent to his or her email account. The user <b>110</b> may also configure alert trigger settings to delay or prevent the generation and sending of certain alert triggers.
The user <b>110</b> may further provide information regarding the priority of the alert triggers. <figref idref="DRAWINGS">FIGS. 5(<i>a</i>) and 5(<i>b</i>)</figref> show a selection and prioritization interface presented to the user <b>110</b>.
Referring to <figref idref="DRAWINGS">FIGS. 5(<i>a</i>) and 5(<i>b</i>)</figref>, embodiments of the invention may provide the user <b>110</b> with an interface including a list of alert triggers. For instance, <figref idref="DRAWINGS">FIG. 5(<i>a</i>)</figref> shows a list including four alert triggers: ATM use, out of country, transaction amount greater than <b>500</b>, and card not present or online. The user <b>110</b> may select, from the list, the triggers he or she wants to have enabled. As mentioned, enabling an alert trigger causes the alerts messaging system <b>100</b> to determine if the trigger applies to transactions received by the system. For example, if the user <b>110</b> enables the out of country alert trigger, that trigger is checked by the alerts messaging system <b>100</b> when the user <b>110</b> performs a transaction. In certain circumstances, the user <b>110</b> may, as part of enabling a trigger, input additional trigger parameters. For example, the user <b>110</b> may input a threshold value, such as $500, for the transaction amount trigger.
In addition to enabling alert triggers, the user <b>110</b> may prioritize the alert triggers. In particular, embodiments of the invention may include priority values, which are assigned to each alert trigger. In some embodiments, each alert trigger may be assigned a default priority value. Priority values may take the form of any suitable value capable of effectuating an ordering scheme. For example, priority values may be numbers or letters. In certain embodiments, an ordering scheme may specify that alert triggers with higher values have higher priority. For instance, referring to <figref idref="DRAWINGS">FIG. 5(<i>a</i>)</figref>, the ATM use trigger has a priority value of 90, which is higher than the out of country trigger's priority value of 85. As a result the ATM use trigger has a higher priority than the out of country trigger. In other embodiments, an ordering scheme may specify that alert triggers with lower values have higher priority.
To prioritize the alert triggers, some embodiments may permit the user <b>110</b> to input and/or change the priority value for each alert trigger. In some embodiments, the invention may provide a free form HTML text field for the user <b>110</b> to enter in new priority values. <figref idref="DRAWINGS">FIG. 5(<i>a</i>)</figref> shows an example of the alert trigger list prior to the user <b>110</b> entering in new priority values. <figref idref="DRAWINGS">FIG. 5(<i>b</i>)</figref> shows the list after the user <b>110</b> has entered in new priority values.
In certain embodiments, the user <b>110</b> may associate certain categories of alert triggers or ranges of priority values with certain behavior. For instance, alert messages associated with alert triggers related to transaction amounts may not be sent until the end of the day.
The information that the user <b>110</b> provides, including any enabled alert triggers, priority information and/or the alerts trigger list, is stored in the database <b>173</b> in the form of cardholder enrollment data <b>175</b>. This is shown as step <b>403</b> in <figref idref="DRAWINGS">FIG. 4</figref>. This data, in addition to the transaction data <b>174</b> and issuer data <b>176</b>, comprises the alert data, which is used by the notification server computer <b>171</b> and/or delivery channel logic <b>177</b>.
3. Performing a Transaction
<figref idref="DRAWINGS">FIG. 1</figref> illustrates a process involved in performing a transaction according to an embodiment of the invention. This is shown as step <b>404</b> in <figref idref="DRAWINGS">FIG. 4</figref>. In a typical purchase transaction, the user <b>110</b> purchases goods or services at the merchant <b>130</b> using the portable consumer device <b>120</b> (arrow <b>1</b> in <figref idref="DRAWINGS">FIG. 1</figref>). An authorization request message comprising transaction data is generated by a processor in the access device <b>132</b> after the portable consumer device <b>120</b> interacts with the access device <b>132</b>. The authorization request message may comprise, for example, the BIN (bank identification number) and expiration date associated with the portable consumer device <b>120</b>, the purchase amount, and a merchant code such as a merchant category code (MCC). The authorization request message is then forwarded from the merchant <b>130</b> to the acquirer <b>140</b> (arrow <b>2</b> in <figref idref="DRAWINGS">FIG. 1</figref>). After receiving the authorization request message, it is then sent to the payment processing network <b>150</b> (arrow <b>3</b> in <figref idref="DRAWINGS">FIG. 1</figref>).
The payment processing network <b>150</b> then forwards the authorization request message to the issuer <b>160</b> of the portable consumer device <b>120</b> (arrow <b>4</b> in <figref idref="DRAWINGS">FIG. 1</figref>). After the issuer <b>160</b> receives the authorization request message, the issuer <b>160</b> sends an authorization response message back to the payment processing network <b>150</b> to indicate whether or not the current transaction is authorized (or not authorized) (arrow <b>5</b> in <figref idref="DRAWINGS">FIG. 1</figref>).
After the payment processing network <b>150</b> receives the authorization response message, it then forwards the authorization response message back to the acquirer <b>140</b> (arrow <b>6</b> in <figref idref="DRAWINGS">FIG. 1</figref>). The acquirer <b>140</b> then sends the response message back to the merchant <b>130</b> (arrow <b>7</b> in <figref idref="DRAWINGS">FIG. 1</figref>), and it is then presented to the user <b>110</b> (arrow <b>8</b> in <figref idref="DRAWINGS">FIG. 1</figref>).
If the user <b>110</b> is enrolled in the messaging service, the payment processing network <b>150</b> sends the transaction data to the IP Gateway <b>170</b> (arrow <b>6</b><i>b </i>in <figref idref="DRAWINGS">FIG. 1</figref>). In order for the payment processing network <b>150</b> to determine whether the authorization request is associated with a portable consumer device <b>120</b> that is enrolled in the messaging service, the payment processing network <b>150</b> maintains a list of account numbers associated with users who are enrolled in the messaging service in the enrollment database <b>152</b>. The data in the enrollment database <b>152</b> are synchronized with the appropriate portion(s) of the cardholder enrollment data <b>175</b> via synchronization link <b>156</b> which may be in any suitable form. For example, the synchronization link <b>156</b> may be in the form of local area network connection or Internet.
After the payment processing network <b>150</b> receives an authorization response from the issuer <b>160</b>, an application program, running on a computer (not shown) in payment processing network <b>150</b>, compares the account number associated with the authorization request (or the authorization response) with a list of enrolled account numbers in the enrollment database <b>152</b>. If there is a match indicating that the account number associated with portable consumer device <b>120</b> is enrolled in the messaging service, the payment processing network <b>150</b> sends the transaction data <b>174</b> associated with that particular transaction to the IP Gateway <b>170</b>.
4. Processing Transaction Data
After the IP gateway <b>170</b> receives the transaction data <b>174</b> from the payment processing network <b>150</b> (step <b>405</b> in <figref idref="DRAWINGS">FIG. 4</figref>), the notification server computer <b>171</b> begins processing the transaction data <b>174</b>. During this process, normal processing for transaction authorization continues as normal with the issuer <b>160</b>.
In one embodiment, the IP gateway <b>170</b> may be part of the payment processing network <b>150</b>. In other embodiments, the IP gateway <b>170</b> may be a third party entity in communication with the payment processing network <b>150</b> that receives and processes the transaction data <b>174</b>. In other embodiments, after the transaction data <b>174</b> is received from the payment processing network <b>150</b>, the notification server computer <b>171</b> begins processing the transaction data <b>174</b>. In one embodiment, the transaction data <b>174</b> may be stored in database <b>173</b>, which is then accessed by the notification server computer <b>171</b>, along with cardholder enrollment data <b>175</b> and/or issuer data <b>176</b>, for processing. In other embodiments, the transaction data <b>174</b> may be sent directly to the notification server computer <b>171</b>.
The transaction data <b>174</b> received from the payment processing network <b>150</b> may contain information such as an account number associated with the portable consumer device <b>120</b>, name of the merchant <b>130</b> (or other merchant identifier such as a merchant category code or MCC) and the amount of the transaction. The transaction data <b>174</b> may also contain other information such as the location of the merchant <b>130</b>. In some embodiments, the transaction data <b>174</b> may not contain all of the information needed to identify some aspect of the transaction such as the location of the merchant <b>130</b>. However, the transaction data <b>174</b> may contain processing codes and reference numbers that may be used to acquire further needed information regarding a transaction.
5. Determining Alert Triggers that Apply to the Transaction Data
In certain embodiments, the notification server computer <b>171</b> may determine a set of alert triggers that applies to the transaction data <b>174</b> (step <b>407</b> in <figref idref="DRAWINGS">FIG. 4</figref>). In order to make this determination, the notification server computer <b>171</b> accesses alert data from the database <b>173</b> (step <b>406</b> in <figref idref="DRAWINGS">FIG. 4</figref>). The notification server computer <b>171</b> then selects one or more alert triggers from using the alert data, which may comprise of the cardholder enrollment data <b>175</b> and/or issuer data <b>176</b> (step <b>406</b> in <figref idref="DRAWINGS">FIG. 4</figref>). For example, the notification server computer <b>171</b> may select the ATM use, out of country, and transaction amount triggers based on the cardholder enrollment data <b>175</b>. This information may have been previously inputted by the user <b>110</b> during, for example, the enrollment process.
Upon selecting the one or more alert triggers, a processor (which executes code on a computer readable medium) in the notification server computer <b>171</b> examines each alert trigger in the set against the particular data elements comprising the transaction data <b>174</b>. For instance, an out of country trigger may be compared against the merchant location information of transaction data <b>174</b>. If the merchant location of the transaction is, for instance, in France, the notification server computer <b>171</b> will determine that the out of country trigger applies to the transaction data <b>174</b>. Likewise, a transaction amount trigger may be compared against the amount information of the transaction data <b>174</b>. If the amount information exceeds the set transaction amount threshold, the notification server computer <b>171</b> will determine that the transaction amount trigger additionally applies to the transaction.
By examining each selected alert trigger, the notification server computer <b>171</b> can determine a set of alert triggers that applies to the transaction data <b>174</b>. Examination of the alert triggers may be performed either sequentially or in parallel.
6. Determining Priority of the Alert Triggers
In certain embodiments, a processor (which executes code on a computer readable medium) in the notification server computer <b>171</b> may determine a priority for the set of alert triggers that applies to the transaction data <b>174</b> (step <b>408</b> in <figref idref="DRAWINGS">FIG. 4</figref>). In certain embodiments, the notification server computer <b>171</b> is configured to determine priority based on alert data, which may include cardholder enrollment data <b>175</b> and/or issuer data <b>176</b>. For example, issuer data <b>176</b> may include a default priority for all the alert triggers comprising database <b>173</b>. The card enrollment data <b>175</b> may also include priority information previously inputted by the user <b>110</b>.
In certain embodiments, the notification server computer <b>171</b> may determine priority based on the priority values associated with each trigger in the set. In particular, the notification server computer <b>171</b> may determine that alert triggers with higher priority values have higher priority. For example, an out of country trigger may be associated with a priority value of 95. An ATM use trigger may be associated with a priority value of 85. The notification server computer <b>171</b> may determine that the out of country trigger has a higher priority than the ATM use trigger because the former is associated with a higher priority value. In another example, the notification server computer <b>171</b> may determine that alert triggers associated with lower priority values have higher priority. For example, an out of country trigger may be associated with a priority value of 1. An ATM use trigger may be associated with a priority value of 2. The notification server computer <b>171</b> may determine that the out of country trigger has a higher priority than the ATM use trigger because the former is associated with a lower priority value.
7. Performing Additional Processing
In certain embodiments, the notification server computer <b>171</b> may perform additional processing based on the priority of the set of alert triggers that applies to the transaction data <b>174</b> (step <b>409</b> in <figref idref="DRAWINGS">FIG. 4</figref>). Additional processing may include selecting one or more alert message templates, generating one or more alert messages, sending one or more alert messages and/or data to the delivery channel logic <b>177</b> for delivery to the user <b>110</b>, and suppressing or preventing the generation and sending of alert messages.
a. Selecting Delivery Channels Based on Priority
In certain embodiments, the notification server computer <b>171</b> may determine one or more delivery channels through which alert messages are to be sent to the user <b>110</b>. In some embodiments, the notification server computer <b>171</b> may use alert data to select delivery channels that are associated with the alert trigger with the highest priority in the set of alert triggers that applies to the transaction data <b>174</b>. For example, the notification server computer <b>171</b> may have previously determined that an out of country trigger has the highest priority in a set. The notification server computer <b>171</b> may use alert data to determine that the user <b>110</b> had previously elected to receive alert messages for out of country transactions through both SMS and email. As a result, the notification server computer <b>171</b> selects SMS and email as delivery channels.
b. Generating Alert Messages Based on Priority
In some embodiments, the notification server computer <b>171</b> may generate one or more alert messages based on the alert trigger with the highest priority.
The generation of alert messages may be performed by a processor using a software application stored in the CRM <b>172</b> that is running on the notification server computer <b>171</b>. The combination of such a software application and the notification server computer <b>171</b> may be referred to (in some cases) as an “alerts rule engine.” In one embodiment, there may be more than one software application running on the notification server computer <b>171</b> and working in concert to access various resources such as database <b>173</b> to generate the alert messages. In another embodiment, some functions may be performed by an Application Specific Integrated Circuit (ASIC) that may be part of the notification server computer. In some other embodiments, the alert messages may be generated by the combination of software applications and ASICs.
Various tables of different specific messages or alert message templates may be used to generate alert messages. To generate an alert message, the notification server computer <b>171</b> may select one or more alert message templates.
In certain embodiments, the notification server computer <b>171</b> may automatically select one or more alert message templates based on the alert trigger with the highest priority in the set of triggers that applies to the transaction data <b>174</b>. The notification server computer <b>171</b> may then insert certain data elements comprising the transaction data <b>174</b> into the templates to generate alert messages. For example, an alert message template for an out of country trigger may read “Your card was used out of the country in X.” The notification server computer <b>171</b> may replace X with the location information comprising the transaction data <b>174</b>.
In some embodiments, the notification server computer <b>171</b> may additionally include, in the alert message, transaction data elements not directly related to the alert trigger with the highest priority. For instance, if the out of country trigger has the highest priority, the alert message may nonetheless include a transaction amount in addition to location information. Illustratively, the alert message may read “Your card was used out of the country in Paris for $10.” In certain embodiments, the notification server computer <b>171</b> may incorporate, into the alert message, content for each trigger in the set of triggers that applies to the transaction data <b>174</b>. For instance, the notification server computer <b>171</b> may include, in an alert message, that a transaction occurred at an ATM even where the ATM use trigger is not the alert trigger with the highest priority. More specifically, an alert message may read “Your card was used out of the country in Paris at an ATM.” Here, the alert message discloses to the user <b>110</b> that a transaction applies to the out of country trigger. The alert message additionally includes information related to the ATM use trigger. In certain embodiments, the notification server computer <b>171</b> may furthermore automatically determine how different transaction data elements interact with one another and generate an alert message accordingly.
For example, the user <b>110</b>, at enrollment, may have ranked alert triggers, from highest to lowest priority, in the following order: 1) Out of Country, 2) ATM use, and 3) transaction amount >100. Subsequently, a transaction may be conducted on the account of the user <b>110</b> for €500 at an ATM in Paris, France. In this situation, the notification server computer <b>171</b> may select an alert message template based on the out of country trigger because that alert trigger has the highest priority. The template associated with the out of country trigger may include content stating the country where the transaction occurred. In some embodiments, the template may also include transaction information not directly related to the out of country trigger. In certain embodiments, the notification server computer <b>171</b> may incorporate content addressing the transaction amount >100 and ATM use triggers. In particular, the notification server computer <b>171</b> may insert language stating the transaction amount and that the transaction occurred at an ATM. In addition, the notification server computer <b>171</b> may determine and account for how the different transaction data elements interact with one another. In particular, the notification server computer <b>171</b> may determine that because the transaction occurred outside of the country, the transaction amount needs to be converted into dollars. As such, the notification server computer <b>171</b> may automatically convert the €500 value into the approximate dollar value of $720. Thus, embodiments of the invention would generate an alert message stating that “An ATM transaction for €500 or approximately $720 dollars occurred in Paris, France.”
c. Suppressing Alert Messages
In certain embodiments, the notification sever computer <b>171</b> may delay or suppress sending of alert messages until a later time. In some embodiments, the notification server computer <b>171</b> may suppress alert messages based on the alert trigger with the highest priority in the set of alert triggers that applies to transaction data <b>174</b>. In particular, the notification server computer <b>171</b> may determine whether the alert trigger with the highest priority meets a certain priority threshold. If the alert trigger does not meet the priority threshold, the notification server computer <b>171</b> may not send an alert message about the transaction to the user <b>110</b> until a later time. For example, a transaction amount trigger may be configured to apply if a transaction exceeds $10. The user <b>110</b> may subsequently make purchases for parking at 2 pm for $15 and a meal at 5 pm for $12. These purchases are relatively minor and may not meet a predefined priority threshold. As such, alert messages for the transactions may not be sent until a later time such as at 8 pm.
In some embodiments, the notification server computer <b>171</b> may generate an alert message including information regarding all transactions that were suppressed over a certain period. For instance, referring to the previous example, the notification server computer <b>171</b> may send a single alert message at the 8 pm including information regarding both the parking and meal transactions.
In certain embodiments, the invention may not send an alert message even where one or more alert triggers apply to the transaction data <b>174</b>. Specifically, the notification server computer <b>171</b> may prevent the sending of an alert message if an enabled alert trigger of a higher priority does not meet the transaction data <b>174</b>. For example, the user <b>110</b> may have previously enabled a transaction amount trigger with a threshold of $20. The user <b>110</b> may additionally have enabled a trigger for an out of country transaction. The alert triggers may be prioritized so that the transaction amount trigger has a higher priority than the out of country trigger. As a result, a transaction for $21 outside the country may cause the notification server computer <b>171</b> to generate an alert message because both alert triggers apply to the transaction. However, a transaction for $15 outside the country may not cause an alert message to be generated because the higher priority transaction amount trigger was not met.
d. Sending Alert Messages to a Delivery Channel Logic
After an alert message is generated by the notification server computer <b>171</b>, it is sent to the delivery channel logic <b>177</b> for delivery to the user <b>110</b>. See arrows <b>6</b><i>b </i>in <figref idref="DRAWINGS">FIG. 1</figref>. The delivery channel logic <b>177</b> may be in the form of one or more software applications running on one or more computers that are tasked with delivery of alert messages to the appropriate delivery channels. In one embodiment, the delivery channel logic <b>177</b> may be a third party entity that receives alert messages via network connection <b>154</b> and sends the messages to the appropriate user devices.
In one embodiment, alert messages may be sent along with identifiers that specify the delivery channels that are to be used for sending the alert messages. In certain embodiments, the delivery channel logic <b>177</b> is in communication with mobile device carriers <b>190</b> and e-mail servers <b>180</b> for sending alert messages that are readable by the mobile device <b>200</b> and in the form of e-mail messages that are readable by user computer <b>210</b>.
In some embodiments, alert messages may be sent to a user in the form of interactive voice response, instant message, voicemail, and the like. Therefore, <figref idref="DRAWINGS">FIG. 2</figref> shows that the delivery channel logic <b>177</b> is in communication with other delivery channels <b>178</b> that can deliver the alert messages to user devices.
In some embodiments, the delivery channel logic <b>177</b> may perform alert message generation and delivery channel selection in conjunction with the notification server computer <b>171</b>. For example, the notification server computer <b>171</b> may partially complete an alert message and the delivery channel logic <b>177</b> may subsequently finish completion of the alert message. In other embodiments, the delivery channel logic <b>177</b> may perform alert generation and delivery channel selection instead of the notification server computer <b>171</b>. In these embodiments, the delivery channel logic <b>177</b> may receive the transaction data <b>174</b> or partial portions of the transaction data <b>174</b> directly from the notification server computer <b>171</b>.
B. Alert Delivery Optimization
<figref idref="DRAWINGS">FIG. 6</figref> is a flowchart of a second embodiment that illustrates the process from enrollment to the sending of alert messages. As shown in <figref idref="DRAWINGS">FIG. 6</figref>, the user <b>110</b> enrolls in the messaging service provided by the alerts messaging system <b>100</b> (step <b>601</b>). The user data that the user <b>110</b> provides during the enrollment process is then sent to the database <b>173</b> and incorporated with alert data (step <b>602</b>). The user <b>110</b> then performs a transaction using the consumer portable device <b>120</b> (step <b>603</b>). Next, the IP Gateway <b>170</b> receives the transaction data <b>174</b> from the payment processing network <b>150</b> (step <b>604</b>). After receiving the transaction data <b>174</b>, the notification server computer <b>171</b> in the IP Gateway <b>170</b> accesses the database <b>173</b> that contains the alert data (step <b>605</b>). The accessed alert data includes delivery channel information. The notification server computer <b>171</b> then dynamically selects one or more delivery channels based on a set of criteria (steps <b>606</b>). Criteria may include reach-ability and cost factors. Next, the notification server computer <b>171</b> generates, for each selected delivery channel, an alert message based on channel (step <b>607</b>). Finally, the notification server computer <b>171</b> sends the generated alert messages to the delivery channel logic <b>177</b> for delivery to the user <b>110</b> (step <b>608</b>).
1. Enrollment
In some embodiments of the present invention, the user <b>110</b> may enroll for the messaging service (step <b>601</b> in <figref idref="DRAWINGS">FIG. 6</figref>) provided by the alerts messaging system <b>100</b> through multiple ways. In some embodiments, the user <b>110</b> may be enrolled automatically by the issuer <b>160</b> that issues the portable consumer device <b>120</b>. Enrollment may be done in a batch mode, by file delivery from issuer <b>160</b> or by file delivery from some other party. In other embodiments, the issuer <b>160</b> or the payment processing network <b>150</b> may provide the messaging service as an option to the user <b>110</b> at which time the user <b>110</b> may enroll in the messaging service either by contacting a customer service representative over the phone (provided either by the issuer <b>160</b> or payment processing network <b>150</b>), or by accessing a web site and filling out an online application. In certain implementations, the web site may be hosted by one entity but can redirect the user <b>110</b> to a site hosted by another entity.
During the enrollment process, the user <b>110</b> provides information that will be used by the alerts messaging system <b>100</b> during the processing of the transaction data <b>174</b>. The user <b>110</b> may provide the information to the alerts messaging system <b>100</b> through either accessing a website and filling out an online application or by contacting customer service. The user <b>110</b> may later access the web site or contact the issuer <b>160</b> to change the information provided at any time.
Information provided by the user <b>110</b> may include delivery channel information. In particular, the user <b>110</b> may provide information including web service identifiers (such as account user names), mobile phone numbers, voice over IP service account identifiers, email addresses, and the like. The user <b>110</b> may additionally provide service plan information such as mobile device voice and data plans. The user <b>110</b> may further provide user device characteristics information such as make and model information.
The user <b>110</b> may additionally provide information about the alert triggers he or she wants to be enabled or have checked when a transaction is received by the alerts messaging system <b>100</b>.
In certain embodiments, the user <b>110</b> may associate certain categories of alert triggers with certain behavior. For instance, alert messages associated with alert triggers related to transaction amounts may not be sent until the end of the day.
The information that the user <b>110</b> provides is stored in the database <b>173</b> in the form of cardholder enrollment data <b>175</b>. This is shown as step <b>602</b> in <figref idref="DRAWINGS">FIG. 6</figref>. This data, in addition to the transaction data <b>174</b> and issuer data <b>176</b>, can be referred to as alert data, which is used by the notification server computer <b>171</b>.
2. Performing a Transaction
<figref idref="DRAWINGS">FIG. 1</figref> illustrates a process involved in performing a transaction according to an embodiment of the invention. This is shown as step <b>603</b> in <figref idref="DRAWINGS">FIG. 6</figref>. In a typical purchase transaction, the user <b>110</b> purchases goods or services at the merchant <b>130</b> using the portable consumer device <b>120</b> (arrow <b>1</b> in <figref idref="DRAWINGS">FIG. 1</figref>). An authorization request message comprising transaction data is generated by a processor in the access device <b>132</b> after the portable consumer device <b>120</b> interacts with the access device <b>132</b>. The authorization request message may comprise, for example, the BIN (bank identification number) and expiration date associated with the portable consumer device <b>120</b>, the purchase amount, and a merchant code such as a merchant category code (MCC). The authorization request message is then forwarded from the merchant <b>130</b> to the acquirer <b>140</b> (arrow <b>2</b> in <figref idref="DRAWINGS">FIG. 1</figref>). After receiving the authorization request message, it is then sent to the payment processing network <b>150</b> (arrow <b>3</b> in <figref idref="DRAWINGS">FIG. 1</figref>).
The payment processing network <b>150</b> then forwards the authorization request message to the issuer <b>160</b> of the portable consumer device <b>120</b> (arrow <b>4</b> in <figref idref="DRAWINGS">FIG. 1</figref>). After the issuer <b>160</b> receives the authorization request message, the issuer <b>160</b> sends an authorization response message back to the payment processing network <b>150</b> to indicate whether or not the current transaction is authorized (or not authorized) (arrow <b>5</b> in <figref idref="DRAWINGS">FIG. 1</figref>).
After the payment processing network <b>150</b> receives the authorization response message, it then forwards the authorization response message back to the acquirer <b>140</b> (arrow <b>6</b> in <figref idref="DRAWINGS">FIG. 1</figref>). The acquirer <b>140</b> then sends the response message back to the merchant <b>130</b> (arrow <b>7</b> in <figref idref="DRAWINGS">FIG. 1</figref>), and it is then presented to the user <b>110</b> (arrow <b>8</b> in <figref idref="DRAWINGS">FIG. 1</figref>).
If the user <b>110</b> is enrolled in the messaging service, the payment processing network <b>150</b> sends the transaction data to the IP Gateway <b>170</b> (arrow <b>6</b><i>b </i>in <figref idref="DRAWINGS">FIG. 1</figref>). In order for the payment processing network <b>150</b> to determine whether the authorization request is associated with a portable consumer device <b>120</b> that is enrolled in the messaging service, the payment processing network <b>150</b> maintains a list of account numbers associated with users who are enrolled in the messaging service in the enrollment database <b>152</b>. The data in the enrollment database <b>152</b> are synchronized with the appropriate portion(s) of the cardholder enrollment data <b>175</b> via synchronization link <b>156</b> which may be in any suitable form. For example, the synchronization link <b>156</b> may be in the form of local area network connection or Internet.
After the payment processing network <b>150</b> receives an authorization response from the issuer <b>160</b>, an application program, running on a computer (not shown) in payment processing network <b>150</b>, compares the account number associated with the authorization request (or the authorization response) with a list of enrolled account numbers in the enrollment database <b>152</b>. If there is a match, which indicates that the account number associated with portable consumer device <b>120</b> is enrolled in the messaging service, the payment processing network <b>150</b> sends the transaction data <b>174</b> associated with that particular transaction to the IP Gateway <b>170</b>.
3. Processing Transaction Data
After the IP gateway <b>170</b> receives the transaction data <b>174</b> from the payment processing network <b>150</b> (step <b>604</b> in <figref idref="DRAWINGS">FIG. 6</figref>), the notification server computer <b>171</b> begins processing the transaction data <b>174</b>. During this process, normal processing for transaction authorization continues as normal with the issuer <b>160</b>.
In one embodiment, the IP gateway <b>170</b> may be part of the payment processing network <b>150</b>. In other embodiments, the IP gateway <b>170</b> may be a third party entity in communication with the payment processing network <b>150</b> that receives and processes the transaction data <b>174</b>. In other embodiments, after the transaction data <b>174</b> is received from the payment processing network <b>150</b>, the notification server computer <b>171</b> begins processing the transaction data <b>174</b>. In one embodiment, the transaction data <b>174</b> may be stored in database <b>173</b>, which is then accessed by the notification server computer <b>171</b>, along with cardholder enrollment data <b>175</b> and/or issuer data <b>176</b>, for processing. In other embodiments, the transaction data <b>174</b> may be sent directly to the notification server computer <b>171</b>.
The transaction data <b>174</b> received from the payment processing network <b>150</b> may contain information such as an account number associated with the portable consumer device <b>120</b>, name of the merchant <b>130</b> (or other merchant identifier such as a merchant category code or MCC) and the amount of the transaction. The transaction data <b>174</b> may also contain other information such as the location of the merchant <b>130</b>. In some embodiments, the transaction data <b>174</b> may not contain all of the information needed to identify some aspect of the transaction such as the location of the merchant <b>130</b>. However, the transaction data <b>174</b> may contain processing codes and reference numbers that may be used to acquire further needed information regarding a transaction.
In certain embodiments, the notification server computer <b>171</b> may determine a set of alert triggers that applies to the transaction data <b>174</b>. In order to make this determination, the notification server computer <b>171</b> may access database <b>173</b> comprising of alert data (step <b>605</b> in <figref idref="DRAWINGS">FIG. 6</figref>). The notification server computer <b>171</b> may then select one or more alert triggers using the alert data, which may comprise of the cardholder enrollment data <b>175</b> and/or issuer data <b>176</b>. For example, the notification server computer <b>171</b> may select the ATM use, out of country, and transaction amount triggers based on the cardholder enrollment data <b>175</b>. This information may have been previously inputted by the user <b>110</b> during, for example, the enrollment process.
Upon selecting the one or more alert triggers, notification server computer <b>171</b> examines each alert trigger in the set against the particular data elements comprising the transaction data <b>174</b>. For instance, an out of country trigger may be compared against the merchant location information of transaction data <b>174</b>. If the merchant location of the transaction is, for instance, in France, the notification server computer <b>171</b> will determine that the out of country trigger applies to the transaction data <b>174</b>. Likewise, a transaction amount trigger may be compared against the amount information of the transaction data <b>174</b>. If the amount information exceeds the set transaction amount threshold, the notification server computer <b>171</b> will determine that the transaction amount trigger additionally applies to the transaction.
By examining each selected alert trigger, the notification server computer <b>171</b> can determine a set of alert triggers that applies to the transaction data <b>174</b>. Examination of the alert triggers may be performed either sequentially or in parallel.
4. Dynamically Selecting Delivery Channels
According to some embodiments, the notification server computer <b>171</b> may select an optimal set of one or more delivery channels for sending alert messages (step <b>606</b> in <figref idref="DRAWINGS">FIG. 6</figref>). In particular, a processor (which executes code on a computer readable medium) in the notification server computer <b>171</b> may dynamically select each delivery channel based on alert data and a set of criteria. In some embodiments, the notification server computer <b>171</b> may also base the selection of each delivery channel on the current status of a user device associated with the channel. The set of criteria used by the notification server computer <b>171</b> may include the current reach-ability of a user device and associated delivery channel costs.
In some embodiments, the notification server computer <b>171</b> may select delivery channels without previous user (and/or issuer and/or payment processing network) initiated configuration of the set of criteria. In some embodiments, the user <b>110</b> may have previously configured a default set of criteria. For instance, the user <b>110</b> may have statically mapped, as a default, certain delivery channels to a certain alert trigger (e.g., mapping the SMS delivery channel to an ATM use trigger). However, the notification server computer <b>171</b> may, at the time an alert message is to be sent, determine that the default delivery channels specified by the set of criteria are currently unsuitable (e.g., the mobile phone of the user <b>110</b> may be currently unable to receive SMS messages). As a result, the notification server computer <b>171</b> may dynamically select one or more alternate delivery channels based on a set of criteria not previously configured by the user (e.g., the user does not provide delivery channel mappings, trigger parameters, etc.). In some embodiments, the selection/mappings of the one or more delivery channels is not known or determined until after the transaction is received by the notification server computer <b>171</b>. In particular, the system dynamically selects one or more delivery channels based on suitability (e.g., user device reach-ability and/or delivery channel cost) criteria in substantially real time after a transaction occurs or at a time when an alert message is to be sent.
The dynamic selection of delivery channels is in contrast to conventional messaging systems. For example, in conventional systems (see, for instance, U.S. patent application Ser. No. 11/962,836, the entire disclosure of which is incorporated herein by reference for all purposes), if a user wants to receive an alert message via SMS in the day and via email during the night, the user manually provides the system with such timing information. The user additionally manually maps each time period to either the SMS or email delivery channels. Conventional systems then simply follow these static user mappings in selecting a delivery channel. As such, conventional systems differ from embodiments of the present invention because prior to a transaction, the user (and/or issuer and/or payment processing network) must configure the criteria used for delivery selection. Additionally, prior to a transaction, the mappings of the delivery channels are also already known.
In certain embodiments of the present invention, the notification server computer <b>171</b> may select a delivery channel based on the current reach-ability or availability of a user device to receive an alert message through the channel. In particular, the notification server computer <b>171</b>, as an initial step, may use alert data to determine the delivery channels associated with the user <b>110</b>. The notification server computer <b>171</b> may then determine the reach-ability of each user device associated with the delivery channels. For some user devices, such as mobile phones, the notification server computer <b>171</b> may use the device's current location and alert data, which may include service plan information, to determine whether a particular user device is reachable. For example, the user <b>110</b> may have previously provided service plan information for his or her VoIP based mobile phone. At the time an alert message is to be sent, the notification server computer <b>171</b> may initiate a communication with the mobile phone and receive from the device an IP address originating in a foreign country. The notification server computer <b>171</b> may subsequently determine, based on the service plan information, that the user <b>110</b> may not receive SMS text messages outside of the country. As such, the notification server computer <b>171</b> would not select SMS as a delivery channel. For user devices connected to web based services, the notification server computer <b>171</b> may use alert data to determine a web service identifier for the user <b>110</b>. A web service identifier, for instance, may be an account user name. Thereafter, the notification server computer <b>171</b> may query the web service to determine if the user <b>110</b> is currently logged on. For example, the notification server computer <b>171</b> may determine that the user <b>110</b> has a Skype account. The notification server computer <b>171</b> may query the service to determine if the user <b>110</b> is currently logged onto the Skype network. If it is determined that the user <b>110</b> is currently available over Skype, the notification server computer <b>171</b> may initiate a chat session with the user <b>110</b> to deliver an alert message.
In some embodiments, the notification server computer <b>171</b> may select a delivery channel based on cost. Delivery channel cost may include the cost of sending and/or the cost of receiving an alert message through a channel. In particular, the notification server computer <b>171</b>, as an initial step, may use alert data to determine delivery channels associated with the user <b>110</b>. The notification server computer <b>171</b> may then determine the cost of each delivery channel. In certain embodiments, the notification server computer <b>171</b> may use the current location of a user device and/or alert data, which may include service plan information, to determine cost. For example, the user <b>110</b> may have previously provided service plan information for his VoIP based mobile phone. At the time an alert message is to be sent, the notification server computer <b>171</b> may determine that the user <b>110</b> is currently in Japan based on the IP address of the VoIP based mobile phone. The notification server computer <b>171</b> may then automatically calculate, based on the provided service plan information and the phone's current location, the cost of sending a text message to the phone. If the cost exceeds a certain cost threshold, the notification server computer <b>171</b> does not select the delivery channel. The notification server computer <b>171</b>, however, may later select a cheaper alternative such as email. In other embodiments, the notification server computer <b>171</b> may first determine cost for all delivery channels associated with the user <b>110</b>. The notification server computer <b>171</b> then chooses the lowest cost delivery channel among the delivery channels.
In some embodiments, the notification server computer <b>171</b> may select a delivery channel based on both reach-ability and cost criteria.
As briefly discussed above, in certain embodiments of the invention, the notification server computer <b>171</b> may have previously selected one or more delivery channels based on predetermined rules or default criteria prior to the present step. For example, the user <b>110</b> may have configured the SMS delivery channel to be selected if a transaction applies to the ATM use trigger. The notification server computer <b>171</b> may subsequently determine that the SMS delivery channel is unsuitable for sending alert messages. In particular, the notification server computer <b>171</b>, upon querying the mobile phone of the user <b>110</b>, may determine that, at the time, the mobile phone cannot receive text messages because it is out of the country. Therefore, the notification server computer <b>171</b> may perform the present step to dynamically select one or more alternate delivery channels.
In other embodiments, the notification server computer may not have previously selected one or more delivery channels.
5. Generating Alert Messages Based on Delivery Channel
In certain embodiments, the notification server computer <b>171</b> may generate an alert message for each selected delivery channel (step <b>607</b> in <figref idref="DRAWINGS">FIG. 6</figref>). The generation of alert messages may be performed by a processor using a software application stored in the CRM <b>172</b> that is running on the notification server computer <b>171</b>. The combination of such a software application and the notification server computer <b>171</b> may be referred to (in some cases) as an “alerts rule engine.” In one embodiment, there may be more than one software application running on the notification server computer <b>171</b> and working in concert to access various resources such as database <b>173</b> to generate the alert messages. In another embodiment, some functions may be performed by an Application Specific Integrated Circuit (ASIC) that may be part of the notification server computer. In some other embodiments, the alert messages may be generated by the combination of software applications and ASICs.
Various tables of different specific messages or alert message templates may be used to generate alert messages. To generate an alert message, the notification server computer <b>171</b> may select one or more alert message templates.
The content of an alert message may vary depending on its delivery channel. For example, an alert message to be sent via SMS may include only a short warning stating that a transaction recently occurred and an instruction to check online for more information. An alert message to be sent via email may provide more detailed information such as a transaction amount, location, and merchant name. An alert message to be sent to an online service provided by the issuer <b>160</b> may include very sensitive information including a full online history and an associated account number.
There are at least two reasons to generate a different alert message for each delivery channel. First, certain delivery channels have fundamental technical limitations. For instance, SMS text messages are currently limited to 160 characters. A second reason lies in the varying security levels among different delivery channels. For instance, an online account where the user <b>110</b> inputs a user name and password is generally more secure than an SMS text message sent to the user's mobile phone. As such, the online account may include more sensitive information such as an account number. In contrast, the SMS text message may be restricted to less sensitive information such as a general warning.
In some embodiments, the notification server computer <b>171</b> may format an alert message based on user device characteristics. User device characteristics may include make and model information, screen size, installed operating systems, installed applications, associated access protocol interfaces (APIs), and the like. As mentioned above, the user <b>110</b> may have previously provided the user device characteristics information. In other embodiments, user device characteristics information may be obtained from third party data sources.
In some embodiments, the notification server computer <b>171</b> may format an alert message based on the technical requirements and/or features of a user device. For example, the notification server computer <b>171</b> may use make and model information to determine that a particular mobile phone supports specialized text messages with additional functionality or features. As a result, the notification server computer <b>171</b> may format an alert message to include content utilizing the additional functionality or features.
In some embodiments, the notification server computer <b>171</b> may determine that a user device, such as mobile device <b>200</b>, includes an application comprising an interpretative messaging engine. The interpretive messaging engine may be configured to generate an alert message from data provided in a compact protocol format. The compact protocol format may define a set of standards or rules for compact messages that fit within the technical limitations of a particular delivery channel. For instance, a compact message sent to a mobile phone via SMS may fit within the 160 character limitation of SMS.
Upon determining that a user device includes an application comprising an interpretive messaging engine, the notification server computer <b>171</b> may generate a compact message in accordance with the compact protocol format. The data comprising the compact message may not be in a user readable format. The data comprising the compact message may include merchant names, merchant category codes, transaction amounts, template identifiers, and the like. After receiving the compact message, the user device's interpretive messaging engine may use the template identifier to select an alert message template. In some embodiments, selection may be made by looking up the template identifier in a table and identifying the alert message template associated with the template identifier. Upon selecting an alert message template, the user device's interpretive messaging engine may generate an alert message using the data provided in the compact message. For example, a user device may receive a compact message including only a merchant name, transaction amount, and template identifier. The interpretative messaging engine may use the template identifier to select an alert message template. The template may read “Your card was used at X for $Y.” The interpretative messaging engine may subsequently generate an alert message by replacing X and Y with the merchant name and transaction amount provided in the compact message.
By sending messages in a compact protocol format and generating alert messages at the user device, alert messages may include more information than would be possible if a fully generated alert message was sent directly to the user device.
In other embodiments, the notification server computer <b>171</b> may track the total number of alert messages sent by the alerts messaging system <b>100</b> to the user <b>110</b>. In particular, in some embodiments, the notification server computer <b>171</b> may increment, by one, a total alerts counter for each alert message that is to be sent. For example, if alert messages are to be sent via email and SMS, the total alerts counter would be incremented by two. In other embodiments, the notification server computer <b>171</b> may increment, by one, a total alerts counter for each transaction in which one or more alert messages are to be sent. For example, if alert messages are to be sent via email and SMS for the same transaction, the total alerts counter would only be incremented by one.
The notification server computer <b>171</b> may further track the total number of alert messages sent by the alerts messaging system <b>100</b> to the user <b>110</b> through a delivery channel. Specifically, the notification server computer <b>171</b> may increment, by one, a delivery channel alerts counter associated with a particular channel each time an alert message is to be sent through that channel. For example, an email alerts counter would be incremented each time an alert message is to be sent to the user <b>110</b> via email.
Table A shows an example of the alert counters. In particular, Table A shows an embodiment where the total alerts counter is incremented for every alert message that is sent, and where the delivery channel alerts counter for a particular channel is incremented for each alert message sent through the channel. For example, if an email and SMS is sent to the user <b>110</b>, the email and SMS alerts counters are incremented by one. The total alerts counter is incremented by two. This is shown in the first row of the Table A.
<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="1" colwidth="77pt" align="center" /><colspec colname="2" colwidth="70pt" align="center" /><colspec colname="3" colwidth="70pt" align="center" /><thead><row><entry namest="1" nameend="3" rowsep="1">TABLE A</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row><row><entry>Email Alerts Counter</entry><entry>SMS Alerts Counter</entry><entry>Total Alerts Counter</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry>001</entry><entry>001</entry><entry>002</entry></row><row><entry>002</entry><entry /><entry>003</entry></row><row><entry /><entry>002</entry><entry>004</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
Table B shows another example of the alerts counters. In particular, Table B shows an embodiment where the total alerts counter is incremented for every transaction in which an alert message is sent, and where the delivery channel alerts counter for a particular channel is incremented for each alert message sent through the channel. For example, if an email and SMS is sent to the user <b>110</b>, the email and SMS alerts counters are incremented by one. The total alerts counter is also incremented by one. This is shown in the first row of the Table B.
<tables id="TABLE-US-00002" num="00002"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="1" colwidth="77pt" align="center" /><colspec colname="2" colwidth="70pt" align="center" /><colspec colname="3" colwidth="70pt" align="center" /><thead><row><entry namest="1" nameend="3" rowsep="1">TABLE B</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row><row><entry>Email Alerts Counter</entry><entry>SMS Alerts Counter</entry><entry>Total Alerts Counter</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry>001</entry><entry>001</entry><entry>001</entry></row><row><entry>002</entry><entry /><entry>002</entry></row><row><entry /><entry>002</entry><entry>003</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
In certain embodiments, the alert messages generated by the notification server computer <b>171</b> may include the current number of the total alerts counter and the current number of a particular delivery channel counter. In some embodiments, the delivery channel alerts counter would correspond to the channel in which the alert message is to be sent. For example, an alert message to be sent through email may include the current number of the email alerts counter and the current number of the total alerts counter. In some embodiments, the numbers would include the alert message itself in the count. For example, an alert message may state: “2 email alerts messages have been sent and 3 transactions have occurred where alert messages were sent.”
By including the numbers of the alerts counters in alert messages, security may be improved. In particular, a fraudulent message sent to the user <b>110</b> would have difficulty knowing and incorporating the current number of messages sent to the user <b>110</b> on a total and delivery channel level basis. Furthermore, sorting of alert messages may be made easier for the user <b>110</b>. In particular, the numbers would provide the user <b>110</b> with an idea of the order in which the alert messages were received. Lastly, the numbers would provide the user <b>110</b> with an overview of the alert messages sent, and allow the user <b>110</b> to notice if any alert message had been skipped.
Other counters are described in U.S. Patent Application No. 61/237,801 and Ser. No. 12/617,268. The entire disclosures of which are incorporated herein by reference for all purposes.
6. Sending Alert Messages to a Delivery Channel Logic
After an alert message is generated by the notification server computer <b>171</b>, it is sent to the delivery channel logic <b>177</b> for delivery to the user <b>110</b>. See arrows <b>6</b><i>b </i>in <figref idref="DRAWINGS">FIG. 1</figref>. The delivery channel logic <b>177</b> may be in the form of one or more software applications running on one or more computers that are tasked with delivery of alert messages to the appropriate delivery channels. In one embodiment, the delivery channel logic <b>177</b> may be a third party entity that receives alert messages via network connection <b>154</b> and sends the messages to the appropriate user devices.
In one embodiment, alert messages may be sent along with identifiers that specify the delivery channels that are to be used for sending the alert messages. In certain embodiments, the delivery channel logic <b>177</b> is in communication with mobile device carriers <b>190</b> and e-mail servers <b>180</b> for sending alert messages that are readable by the mobile device <b>200</b> and in the form of e-mail messages that are readable by user computer <b>210</b>.
In some embodiments, alert messages may be sent to a user in the form of interactive voice response, instant message, voicemail, and the like. Therefore, <figref idref="DRAWINGS">FIG. 2</figref> shows that the delivery channel logic <b>177</b> is in communication with other delivery channels <b>178</b> that can deliver the alert messages to user devices.
In some embodiments, the delivery channel logic <b>177</b> may perform alert message generation and delivery channel selection in conjunction with the notification server computer <b>171</b>. For example, the notification server computer <b>171</b> may partially complete an alert message and the delivery channel logic <b>177</b> may subsequently finish completion of the alert message. In other embodiments, the delivery channel logic <b>177</b> may perform alert generation and delivery channel selection instead of the notification server computer <b>171</b>. In these embodiments, the delivery channel logic <b>177</b> may receive the transaction data <b>174</b> or partial portions of the transaction data <b>174</b> directly from the notification server computer <b>171</b>.
The various participants and elements in the previously described system diagrams (e.g., the computers, issuers, servers, etc. in <figref idref="DRAWINGS">FIGS. 1 and 2</figref>) may use any suitable number of subsystems to facilitate the functions described herein. Examples of such subsystems or components are shown in <figref idref="DRAWINGS">FIG. 7</figref>. The subsystems shown in <figref idref="DRAWINGS">FIG. 7</figref> are interconnected via a system bus <b>775</b>. Additional subsystems such as a printer <b>774</b>, keyboard <b>778</b>, fixed disk <b>779</b> (or other memory comprising computer-readable media), monitor <b>776</b>, which is coupled to display adapter <b>782</b>, and others are shown. Peripherals and input/output (I/O) devices, which couple to I/O controller <b>771</b>, can be connected to the computer system by any number of means known in the art, such as serial port <b>777</b>. For example, serial port <b>777</b> or external interface <b>781</b> can be used to connect the computer apparatus to a wide area network such as the Internet, a mouse input device, or a scanner. The interconnection via system bus allows the central processor <b>773</b> to communicate with each subsystem and to control the execution of instructions from system memory <b>772</b> or the fixed disk <b>779</b>, as well as the exchange of information between subsystems. The system memory <b>772</b> and/or the fixed disk <b>779</b> may embody a computer-readable medium.
The software components or functions described in this application may be implemented as software code to be executed by one or more processors using any suitable computer language such as, for example, Java, C++ or Perl using, for example, conventional or object-oriented techniques. The software code may be stored as a series of instructions, or commands on a computer-readable medium, such as a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a CD-ROM. Any such computer-readable medium may also reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network.
The present invention can be implemented in the form of control logic in software or hardware or a combination of both. The control logic may be stored in an information storage medium as a plurality of instructions adapted to direct an information processing device to perform a set of steps disclosed in embodiments of the present invention. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and/or methods to implement the present invention.
In embodiments, any of the entities described herein may be embodied by a computer that performs any or all of the functions and steps disclosed. For example, any of the functions described for the notification server may be performed by a processor in the notification server, which may execute code on a computer readable medium. As a further example, any of the functions described for a user device may be performed by a processor in the user device, which may execute code on a computer readable medium.
Any recitation of “a”, “an” or “the” is intended to mean “one or more” unless specifically indicated to the contrary.
One or more features of the various embodiments described above, may be combined with other features of other embodiments in any suitable manner without departing from the scope of the invention. For example, one or more features of the prioritization processes and one or more features of the delivery optimization processes may be combined in any suitable manner without departing from the spirit and scope of the invention. For instance, the notification server computer <b>171</b> may prioritize alert triggers and select one or more default delivery channels based on alert trigger priority. Subsequently, the notification server computer <b>171</b> may dynamically determine whether each selected default delivery channel is suitable. If a delivery channel is not suitable, the notification server computer <b>171</b> may dynamically select an alternate delivery channel.
The above description is illustrative and is not restrictive. Many variations of the invention will become apparent to those skilled in the art upon review of the disclosure. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the pending claims along with their full scope or equivalents.
Contents5
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both waysCites: the store holds 59 of 60
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP1067492A2 | Cites | European Patent Office (EPO) | Applicant |
| KR20000056045A | Cites | Republic of Korea | Applicant |
| US2002013711A1 | Cites | United States of America | Applicant |
| US2002129354A1 | Cites | United States of America | Applicant |
| US2002133462A1 | Cites | United States of America | Applicant |
| US2004078340A1 | Cites | United States of America | Applicant |
| US2004203612A1 | Cites | United States of America | Applicant |
| US2004236859A1 | Cites | United States of America | Applicant |
| US2004254868A1 | Cites | United States of America | Applicant |
| US2006059110A1 | Cites | United States of America | Applicant |
| US2006203835A1 | Cites | United States of America | Applicant |
| US2007025270A1 | Cites | United States of America | Applicant |
| US2007094609A1 | Cites | United States of America | Applicant |
| US2008094207A1 | Cites | United States of America | Applicant |
| US2008097887A1 | Cites | United States of America | Applicant |
| US2008155560A1 | Cites | United States of America | Applicant |
| US2008167990A1 | Cites | United States of America | Applicant |
| US2008183480A1 | Cites | United States of America | Applicant |
| US2008200144A1 | Cites | United States of America | Applicant |
| US2008205602A1 | Cites | United States of America | Applicant |
| US2009015428A1 | Cites | United States of America | Applicant |
| US2009100141A1 | Cites | United States of America | Applicant |
| US2009138563A1 | Cites | United States of America | Applicant |
| US2010082750A1 | Cites | United States of America | Applicant |
| WO2010129257A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2010274866A1 | Cites | United States of America | Applicant |
| US2011055013A1 | Cites | United States of America | Applicant |
| US6062472A | Cites | United States of America | Applicant |
| US6647272B1 | Cites | United States of America | Applicant |
| US7174534B2 | Cites | United States of America | Applicant |
| US7370004B1 | Cites | United States of America | Applicant |
| US7565326B2 | Cites | United States of America | Applicant |
| US7568222B2 | Cites | United States of America | Applicant |
| US20020013711A1 | Cites | United States of America | Applicant |
| US20020129354A1 | Cites | United States of America | Applicant |
| US20020133462A1 | Cites | United States of America | Applicant |
| US20040078340A1 | Cites | United States of America | Applicant |
| US20040203612A1 | Cites | United States of America | Applicant |
| US20040236859A1 | Cites | United States of America | Applicant |
| US20040254868A1 | Cites | United States of America | Applicant |
| US20060059110A1 | Cites | United States of America | Applicant |
| US20060203835A1 | Cites | United States of America | Applicant |
| US20070025270A1 | Cites | United States of America | Applicant |
| US20070094609A1 | Cites | United States of America | Applicant |
| US20080094207A1 | Cites | United States of America | Applicant |
| US20080097887A1 | Cites | United States of America | Applicant |
| US20080155560A1 | Cites | United States of America | Applicant |
| US20080167990A1 | Cites | United States of America | Applicant |
| US20080183480A1 | Cites | United States of America | Applicant |
| US20080200144A1 | Cites | United States of America | Applicant |
| US20080205602A1 | Cites | United States of America | Applicant |
| US20090015428A1 | Cites | United States of America | Applicant |
| US20090100141A1 | Cites | United States of America | Applicant |
| US20090138563A1 | Cites | United States of America | Applicant |
| US20100082750A1 | Cites | United States of America | Applicant |
| US20100274866A1 | Cites | United States of America | Applicant |
| US20110055013A1 | Cites | United States of America | Applicant |
| KR1020000056045A | Cites | Republic of Korea | Applicant |
| WO2010129257A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| International Search Report and Written Opinion dated Dec. 14, 2010 for Application No. PCT/US2010/032790, 9 pages. | Non-patent | – | Applicant |
| International Search Report and Written Opinion dated Nov. 16, 2010 for PCT/US2010/032518, 9 pages. | Non-patent | – | Applicant |
| Notice of Acceptance dated Jul. 1, 2013 for Australian Patent Application No. 2010246236. | Non-patent | – | Applicant |
| Office Action for Mexican Patent Application No. MX/a/2011/011409, with abbreviated letter from foreign associate dated May 27, 2013. | Non-patent | – | Applicant |
| Office Action dated Oct. 17, 2013 for Canadian Patent Application No. 2,760,193, 3 pages. | Non-patent | – | Applicant |
| Non-Final Office Action dated Nov. 15, 2011 for U.S. Appl. No. 12/764,715, 9 pages. | Non-patent | – | Applicant |
| Notice of Allowance dated May 7, 2012 for U.S. Appl. No. 12/764,715, 13 pages. | Non-patent | – | Applicant |
| International Search Report and Written Opinion dated Dec. 14, 2010 for Application No. PCT/US2010/032790, 9 pages. | Non-patent | – | Applicant |
| International Search Report and Written Opinion dated Nov. 16, 2010 for PCT/US2010/032518, 9 pages. | Non-patent | – | Applicant |
| Notice of Acceptance dated Jul. 1, 2013 for Australian Patent Application No. 2010246236. | Non-patent | – | Applicant |
| Office Action for Mexican Patent Application No. MX/a/2011/011409, with abbreviated letter from foreign associate dated May 27, 2013. | Non-patent | – | Applicant |
| Office Action dated Oct. 17, 2013 for Canadian Patent Application No. 2,760,193, 3 pages. | Non-patent | – | Applicant |
| Non-Final Office Action dated Nov. 15, 2011 for U.S. Appl. No. 12/764,715, 9 pages. | Non-patent | – | Applicant |
| Notice of Allowance dated May 7, 2012 for U.S. Appl. No. 12/764,715, 13 pages. | Non-patent | – | Applicant |
242 members in 12 offices
Priority claims14
| Document | Office | Kind | Date |
|---|---|---|---|
| 17337109 | United States of America | P | |
| 17337109 | United States of America | P | |
| 76466210 | United States of America | A | |
| 76466210 | United States of America | A | |
| 201615194335 | United States of America | A | |
| 201615194335 | United States of America | A | |
| 201816232706 | United States of America | A | |
| 12764662 | – | – | – |
| 15194335 | – | – | – |
| 61173371 | – | – | – |
| US20090173371P | – | – | – |
| US20100764662 | – | – | – |
| US201615194335 | – | – | – |
| US201816232706 | – | – | – |
Members242
| Document | Office | Kind | |
|---|---|---|---|
| US7668785B1 | United States of America | B1 | |
| AU2009296822A1 | Australia | A1 | |
| CA2738296A1 | Canada | A1 | |
| WO2010036615A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2010138338A1 | United States of America | A1 | |
| WO2010036615A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US2010272114A1 | United States of America | A1 | |
| US2010274572A1 | United States of America | A1 | |
| US2010274653A1 | United States of America | A1 | |
| US2010274679A1 | United States of America | A1 | |
| US2010274688A1 | United States of America | A1 | |
| US2010274689A1 | United States of America | A1 | |
| US2010274691A1 | United States of America | A1 | |
| US2010274692A1 | United States of America | A1 | |
| US2010274720A1 | United States of America | A1 | |
| US2010274721A1 | United States of America | A1 | |
| US2010274853A1 | United States of America | A1 | |
| US2010274866A1 | United States of America | A1 | |
| CA2759950A1 | Canada | A1 | |
| CA2760145A1 | Canada | A1 | |
| CA2760193A1 | Canada | A1 | |
| CA2760301A1 | Canada | A1 | |
| CA2760422A1 | Canada | A1 | |
| US2010287250A1 | United States of America | A1 | |
| WO2010129201A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129202A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129245A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129246A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129254A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129257A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129282A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129291A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129296A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129300A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129315A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129317A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129333A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129342A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129346A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2010129357A2 | World Intellectual Property Organization (WIPO) | A2 | |
| CA2760938A1 | Canada | A1 | |
| CA2937850A1 | Canada | A1 | |
| US2010293189A1 | United States of America | A1 | |
| US2010293381A1 | United States of America | A1 | |
| US2010293382A1 | United States of America | A1 | |
| WO2010132808A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2010299208A1 | United States of America | A1 | |
| US2010299249A1 | United States of America | A1 | |
| US2010325047A1 | United States of America | A1 | |
| US2010325048A1 | United States of America | A1 | |
| US2010327054A1 | United States of America | A1 | |
| WO2010129201A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129257A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129300A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129254A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129357A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129296A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129202A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129245A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129246A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129282A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129291A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129315A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129317A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129342A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010129346A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2010132808A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US7891560B2 | United States of America | B2 | |
| WO2010129333A3 | World Intellectual Property Organization (WIPO) | A3 | |
| CA2773543A1 | Canada | A1 | |
| WO2011031988A2 | World Intellectual Property Organization (WIPO) | A2 | |
| CA2780278A1 | Canada | A1 | |
| US2011108623A1 | United States of America | A1 | |
| WO2011057007A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2011119155A1 | United States of America | A1 | |
| US2011168132A1 | United States of America | A1 | |
| WO2011031988A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2011057007A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US8020766B2 | United States of America | B2 | |
| AU2010246236A1 | Australia | A1 | |
| AU2010246247A1 | Australia | A1 | |
| AU2010245109A1 | Australia | A1 | |
| MX2011011408A | Mexico | A | |
| MX2011011409A | Mexico | A | |
| AU2010245053A1 | Australia | A1 | |
| AU2010246280A1 | Australia | A1 | |
| MX2011011974A | Mexico | A | |
| AU2010248794A1 | Australia | A1 | |
| US2012018506A1 | United States of America | A1 | |
| US2012018511A1 | United States of America | A1 | |
| US2012031969A1 | United States of America | A1 | |
| MX2011011400A | Mexico | A | |
| US8126967B2 | United States of America | B2 | |
| EP2425390A2 | European Patent Office (EPO) | A2 | |
| EP2430602A2 | European Patent Office (EPO) | A2 | |
| AU2010292125A1 | Australia | A1 | |
| CA2815529A1 | Canada | A1 | |
| WO2012054763A2 | World Intellectual Property Organization (WIPO) | A2 | |
| CA2816020A1 | Canada | A1 | |
| WO2012058309A2 | World Intellectual Property Organization (WIPO) | A2 |
37 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Reasons for AllowanceEX.R | EX.R | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Terminal Disclaimer FiledDIST | DIST | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Dispatched from OIPEOIPE | OIPE | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| PTO/SB/69-Authorize EPO Access to Search ResultsSREXR141 | SREXR141 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| Information on status: patent application and granting procedure in generalDOCKETED NEW CASE - READY FOR EXAMINATIONSTPP | STPP | |
| Information on status: patent application and granting procedure in generalAPPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETEDSTPP | STPP | |
| Fee payment procedureENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- 10672001
- Publication, DOCDB
- 10672001
- Publication, EPODOC
- US10672001
- Application
- 16232706
- Application, DOCDB
- 201816232706
- Application, EPODOC
- US201816232706
Titles
- English
- Alert prioritization logic
Patent term adjustment
- Net adjustment
- 0 days
Classification
- CPC, 19
- G06Q20/401
- G06Q20/386
- G06Q20/40155
- G06Q20/40
- G06Q30/0185
- G06Q20/202
- G06Q30/0224
- G06Q20/325
- G06Q30/0236
- G06Q50/265
- H04L12/1895
- H04L67/306
- H04L67/04
- G06Q40/12
- G08B5/229
- G08B25/004
- G06Q20/3255
- H04L67/55
- H04L67/26
- IPC, 11
- G06Q20 40
- G08B5 22
- G06Q30 00
- G06Q30 02
- G06Q50 26
- H04L12 18
- H04L29 08
- G06Q40 00
- G06Q20 20
- G06Q20 32
- G08B25 00