Patent Publication Number: US-10783512-B2

Title: Mobile device, method, and computer storage medium for determining an order of stored data items/payment account numbers based on location

Description:
RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 16/363,339, filed Mar. 25, 2019, which is a continuation of U.S. patent application Ser. No. 15/587,289, filed May 4, 2017, now U.S. Pat. No. 10,282,723, issued May 7, 2019, which is a continuation of U.S. patent application Ser. No. 14/984,762, filed Dec. 30, 2015, now U.S. Pat. No. 9,672,511, issued Jun. 6, 2017, which claims the benefit of U.S. Provisional Patent Application No. 62/098,054, filed Dec. 30, 2014, the disclosures of which are hereby incorporated by reference in their entireties. 
     The present application relates to U.S. Pat. App. Pub. Nos. 2009/0112766, 2013/0024371, 2010/0211445, and 2005/0071225, and 2005/0071227, the entire disclosures of each of which are hereby incorporated by reference in their entireties. 
    
    
     FIELD OF THE TECHNOLOGY 
     At least some embodiments disclosed herein relate to location dependent operations of computing devices. 
     BACKGROUND 
     Many technologies have been developed to determine, in real time, the current location of a device. For example, satellites in the global positioning system (GPS) transmit radio frequency signals from different positions in the space; and a GPS receiver receives the signals from the satellites and determines its position from the timing differences of the received signals. For example, a cellular communication device can determine or estimate its location based on cellular communication signals from basestations. For example, a wireless communication device can be configured to compute its location based on signals from a wireless communication access point. 
     The availability of location information of a mobile device allows the development of various location dependent services. For example, U.S. Pat. App. Pub. No. 2001/0027422 discloses a system configured to pay for location dependent services using a cellular phone as a payment device, where a service location provides a user requested service or goods based on the approximate geographical position of the cellular phone. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements. 
         FIG. 1  shows a system configured to facilitate location dependent communications between mobile devices and transaction terminals according to one embodiment. 
         FIG. 2  shows a system to present account information according to one embodiment. 
         FIG. 3  shows a method to process a payment based on a location of a mobile device according to one embodiment. 
         FIG. 4  shows an electronic payment processing system according to one embodiment. 
         FIG. 5  illustrates a transaction terminal according to one embodiment. 
         FIG. 6  illustrates an account identifying device according to one embodiment. 
         FIG. 7  illustrates a data processing system according to one embodiment. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows a system configured to facilitate location dependent communications between mobile devices and transaction terminals according to one embodiment. 
     In  FIG. 1 , the system is configured to optimize, based on the location of the mobile device ( 201 ), the communication between a mobile device ( 201 ) of a user ( 101 ) and transaction terminals ( 105 ). The transaction terminals ( 105 ) are connected to a network ( 265 ); and the mobile device ( 201 ) is capable of communicating separately with the transaction terminals ( 105 ) and at least one remote server ( 228 ) that may or may not be connected to the network ( 265 ). 
     The mobile device ( 201 ) is configured to use the position determination device ( 263 ) to determine its current position. For example, the position determination device ( 263 ) of one embodiment is a GPS receiver configured to receive GPS signals ( 269 ) from GPS satellites (e.g.,  267 ) and/or similar signals from basestations. Other position determination techniques can also be used. For example, the position determination device ( 263 ) of one embodiment is configured to determine its position based on signals from basestations (e.g.,  109 ) for cellular communications, and/or signals from access points of wireless local area networks (WLAN). 
     In  FIG. 1 , in preparation for a communication session with one of the transaction terminals ( 105 ), the mobile device ( 201 ) is configured to communicate with the server ( 228 ) to sort or adjust the order of the data items based on the current location of the mobile device ( 201 ). Optionally, the mobile device ( 201 ) may present a user interface that allows the user ( 101 ) to view the adjusted order and/or further manually adjust the order through the user interface. In the communication session, the mobile device ( 201 ) is configured to present the data items ( 261 ) in that order that is optimized based at least in part on the location of the mobile device ( 201 ) and thus reduces the duration of the communication session and/or the user effort on the user interface to direct the communications between the mobile device ( 201 ) and the respective one of the transaction terminals ( 105 ). 
     In one embodiment, the mobile device ( 201 ) is configured to have at least two wireless communication transceivers: a shorter range transceiver ( 111 ) for communication with one of the transaction terminals ( 105 ) that is in close proximity to the mobile device ( 201 ) (e.g., via Near Field Communication (NFC)); and, a longer range transceiver ( 113 ) for communication with a remote server ( 228 ) (e.g., via cellular telecommunications, WiFi/wireless local area network). 
     Periodically, the mobile device ( 201 ) of one embodiment communicates with the server ( 228 ) via the longer range transceiver ( 113 ) to adjust the order of the data items such that the order of the data items is optimized for a potential communication session with a transaction terminal ( 105 ) in the vicinity of the mobile device ( 201 ) using the shorter range transceiver ( 111 ). 
     For example, the mobile device ( 201 ) transmits its current geographical location, computed by the position determination device ( 263 ), using the longer ranger transceiver ( 113 ) to the server ( 228 ). In response, the server ( 228 ) identifies a category based on the location received from the mobile device ( 201 ) and communicates the category to the mobile device ( 201 ), which adjusts the order of the data items ( 261 ) according to the category. In some embodiments, the mobile device ( 201 ) postpones the adjustment of the order until a communication session with a transaction terminal ( 105 ) is about to be initiated using the shorter ranger transceiver ( 111 ), or during the initiation of the communication session with the transaction terminal ( 105 ). 
     For example, the server ( 228 ) is configured to store data identifying the categories ( 107 ) of different transaction terminals ( 105 ) arranged at different locations. Based on the current location of the mobile device ( 201 ), the server ( 228 ) is configured to identify one or more transaction terminals ( 105 ) that are closest to the current location of the mobile device ( 201 ) and determine a category of a transaction terminal ( 105 ) with which the mobile device ( 201 ) is most likely to initiate a communication session at or near the location reported by mobile device ( 201 ). In one embodiment, the most likely transaction terminal is determined further based on the communication history of the mobile device ( 201 ) with different transaction terminals. Since the mobile device ( 201 ) stores the data items ( 261 ) with priority preference information in association with various categories, the priority category identified by the server ( 228 ) allows the mobile device ( 201 ) to adjust and/or update the priority order of the data items ( 261 ). 
     In one embodiment, the mobile device ( 201 ) monitors its current location determined by the position determination device ( 263 ). When the current location of the mobile device ( 201 ) has changed significantly from the location previously communicated to the server ( 228 ) (e.g., relative to the average spacing of transaction terminals in the area), the mobile device ( 201 ) communicates with the server ( 228 ) to obtain an update for the category used to optimize the order of the data items ( 261 ). Thus, the communications with the server ( 228 ) can be reduced. 
     In some embodiments, after determining the priority category based on the current location of the mobile device ( 201 ), the server ( 228 ) is configured to further identify the optimized order of the data items ( 261 ) and communicate the updated order to the mobile device ( 201 ), with or without explicitly identifying the priority category to the mobile device ( 201 ). 
     In one embodiment, optimizing the order of the data items ( 261 ) includes selecting a top-ranked data item to be communicated first to a transaction terminal ( 105 ). The mobile device ( 201 ) of one embodiment is configured with a user interface that allows the user ( 101 ) to optionally view an identification of the top-ranked data item prior to the mobile device ( 201 ) communicating the top-ranked data item to a transaction terminal ( 105 ). Using the user interface the user ( 101 ) may optionally select a different data item for communicating to the transaction terminal ( 105 ). The optimization of the order of the data items ( 261 ) can reduce the need that the user optionally using the user interface for viewing the top-ranked data item and/or select a different data item to replace the top-ranked data item. In one embodiment, the user inputs made via the user interface are further tracked and used in the optimization of the order of the data items ( 261 ) to minimize future user inputs. 
     The technique discussed above can be used to optimize the presentation of account numbers from a mobile wallet to a transaction terminal. For example, the data items ( 261 ) may be account numbers of payment accounts in a mobile wallet configured in the mobile device ( 201 ). Different payment accounts may offer different benefits for payments made for purchases in different merchant categories. Based on the merchant categories of the transaction terminals ( 105 ) connected in the network ( 265 ) (e.g., an electronic payment processing network illustrated in  FIG. 4 ), the server ( 228 ) (e.g., a portal of the network ( 265 )) is configured to use the location reported by the mobile device ( 201 ) (and/or other information, such as data recording the past transactions made in the payment accounts configured in the mobile wallet) to identify a merchant category for prioritization, allowing the mobile device ( 201 ) to re-arrange the order of the account numbers in the mobile wallet to present first the account number that can potentially provide the best benefits to the payment transaction to be made on a transaction terminal ( 105 ) that is in close proximity to the mobile device ( 201 ). For example, the mobile wallet may present a user interface to identify the top ranked payment account for confirmation by the user in the transaction with the nearby transaction terminal ( 105 ). For example, the mobile wallet may use the top ranked payment account as the default account for the transaction with the nearby transaction terminal in absence of user input. For example, the mobile wallet may use the payment accounts sequentially according to the optimized order to process the payment until the payment is satisfied. 
     Mobile payment wallet services, such as Apple Pay and Google Wallet, allow a user ( 101 ) to store multiple credit cards on a mobile device ( 201 ). 
     In one embodiment, a mobile wallet application is configured to use geolocation to determine the order of the credit cards (and/or other payment accounts, such as debit cards, prepaid cards) in which the payment accounts are presented to make a payment at a transaction terminal, such as a point of sales terminal of a merchant. 
     For example, the mobile wallet may use the top ranked payment account to make the payment without the user having to manually select a payment account from the plurality of payment accounts configured in the mobile wallet. Optionally, the mobile wallet may show the sorted list of payment accounts to allow the user to select a payment account to make the payment at the point of sales terminal of the merchant. 
     In one embodiment, the order of the credit cards is determined before the mobile wallet is used to make a payment and/or before the mobile wallet communicates with the points of sales terminal to reduce the processing/waiting time at the point of sales terminal. For example, in response to a determination that the mobile device is having a location inside a retail location, the mobile wallet may optimize the order based on reward optimization and/or user preferences. 
     For example, in one embodiment, the mobile wallet is configured to determine the type of the merchant of the retail store in which the mobile device is currently and determine which payment card is to be automatically selected at the time of purchase, checkout, or payment. 
     In some embodiments, the mobile wallet is further configured to identify the loyalty programs acceptable the point of sales terminal of the merchant and communicate information from the mobile wallet to the point of sales terminal to identify the member information of the user of the mobile wallet. For example, a point of sales terminal of a merchant may accept the phone number of the user as an identifier of a member in the reward program of the merchant. For example, a point of sales terminal of a merchant may accept a member ID of the user issued by the merchant to the user in the reward program of the merchant. In one embodiment, the reward membership information is transmitted to the point of sales terminal of the merchant prior to, or together with, the payment information that identifies a payment account of the user. In one embodiment, the payment information is a token or a one-time account that represents, or is associated with, the payment account of the user. 
     For example, loyalty programs associated with payment cards may provide rewards of different levels for payments with merchants of different types. For example, the loyalty program of one card may offer better rewards on gas purchases than restaurant purchases. For example, a user may prefer to use a particular payment card to make one type of purchases and another payment card to make another type of purchases, for reasons may or may not related to rewards. In one embodiment, the mobile wallet is configured to determine the merchant type based on the location coordinates of the mobile device and then automatically rank the payment accounts based on predicted rewards benefits and/or user preferences. 
     In one embodiment, when the mobile wallet is used to make a payment at the point of sales terminal of a merchant, the mobile wallet uses the top ranked payment account. Alternatively or in combination, the mobile wallet may provide a user interface that allows the user to reject the use of the top ranked payment account and/or select an alternative payment account. The ranking according to the optimization of the reward benefits and/or pre-specified user rules can reduce and/or eliminate the need for user intervention to select a payment account from the mobile wallet and thus reduce the time at the point of sales terminal and improve the overall efficiency of the payment system. 
     In one embodiment, the mobile wallet application will automatically select the better rewards card to use depending on the identity of the merchant determined based on the location of the mobile device. 
     In one embodiment, after multiple payment cards are configured and/or stored in a mobile wallet on the mobile device, the mobile wallet allows the user to select the option of using a default card to make payments. In one embodiment, the default card is dynamically determined based on location coordinates of the mobile device. 
     For example, in one embodiment, for one or more of the payment cards, the mobile wallet presents a user interface allowing the user to specify merchant attributes, such as merchant types (e.g., gas, drug store, restaurant), etc., such that when the current location of the mobile device is determined to have the merchant attributes specified for the corresponding payment card, the mobile application is configured to identify the corresponding payment card as the default card for the current location. 
     In one embodiment, when the merchant attribute determined for the current location satisfies none of the payment cards in the mobile wallet, a predetermined card is selected as the default card. 
     In one embodiment, when the merchant attribute determined for the current location satisfies more than one of the payment cards in the mobile wallet, the payment cards are ranked based on prior selection histories and the reward rules of the reward programs associated with the payment cards. 
     For example, the issuers of the payment cards may communicate the latest rewards information to the mobile wallet application. The reward program of a payment card may specify rewards as different percentage of transaction amounts based on different merchant types corresponding to different merchant category codes; and the association of the reward percentages with respective merchant categories may change periodically (e.g., monthly, quarterly). Using the reward percentage information and/or user preferences, the mobile wallet application is configured to dynamically rank the payment accounts in a preferred order for making payments. Thus, the user does not have to manually select a default card for a particular combination of merchant attributes. 
     The feature of the mobile wallet to dynamically rank the payment accounts configured in the mobile wallet would prompt competition among issuers and/or loyalty programs to offer better rewards than their competitors in order to become the “top of the wallet” credit card. 
     In one embodiment, a location determination system of the mobile device, such as a global positioning system (GPS) receiver in a smart phone, can be used to determine the location coordinates of the current location of the mobile device and thus look up the merchant and corresponding merchant attributes based on the location coordinates. 
     For example, the geolocation feature on a smart phone can determine the merchant at the current location of the smart phone; and a database stored in the cloud can be used to determine the merchant type of the merchant. 
     In one embodiment, the mobile wallet is configured to weigh the reward benefits predicated based on the merchant category of the current location and preferences of the users to compute a score for each of the payment accounts. The scores of the payment accounts are used to rank the payment accounts in the mobile wallet. The mobile wallet allows the user to select payment accounts for the dynamically sorted list of payment accounts to make a payment. The user selection is used with a machine learning technique to train the weights in the computation of the scores and thus reflect the user preference. Over a period of time, the mobile wallet is capable of presenting payment accounts in desirable orders that reflects both the optimization of reward benefits and user preferences. Thus, the accuracy of the top ranked payment card for making a payment at a location is improved. 
     In one embodiment, the mobile device is configured to automatically retrieve reward rules from issuers of the payment accounts and/or the respective loyalty program providers. 
       FIG. 2  shows a system to present account information according to one embodiment. In  FIG. 2 , the mobile device ( 201 ) has a GPS receiver ( 211 ) configured to determine the location coordinates ( 221 ) of the current location of the mobile device ( 201 ). The mobile device ( 201 ) has at least one internet access interface ( 203 ) for communication with remote servers. Examples of such an internet access interface ( 203 ) include a cellular communications transceiver, a wireless local area network transceiver, etc. 
     In  FIG. 2 , a geolocation server ( 223 ) provides Application Programming Interfaces (API) that allow the mobile wallet ( 213 ), implemented as a mobile application executed by the microprocessor ( 209 ) in the mobile device ( 201 ), to submit location coordinates ( 221 ) of the current location of the mobile device ( 201 ) and retrieve various information about that location, such as the name and address ( 225 ) of a merchant that contains the location. 
     For example, APIs of Google Places accept the latitude and longitude as inputs to obtain the name and address of the business at the location. 
     In  FIG. 2 , a merchant attribute server ( 227 ) stores a table to look up the merchant attribute ( 229 ), such as the merchant category code (MCC) of the merchant identified by the merchant name and address ( 225 ). 
     For example, APIs of Visa Supplier Locator can provide the MCC of 5541 and 5542 for “Shell Oil” and “2901 S NORFOLK ST SAN MATEO Calif. 94403”. 
     In  FIG. 2 , the mobile wallet ( 213 ) stores a set of data identifying payment accounts ( 251 ,  253 , . . . ,  257 ). 
     In one embodiment, the mobile wallet ( 213 ) has a user interface ( 205 ) that allows the user ( 101 ) to specify, for each of the accounts ( 251 ,  253 , . . . ,  257 ), a merchant category code group. For example, the user interface ( 205 ) provides options such as “gas” and “grocery stores”. The user may select the “gas” group of merchant category code for Account A ( 251 ), and the “grocery stores” group of merchant category code for Account B ( 253 ). 
     In one embodiment, the user interface ( 205 ) is configured to allow the user to select an account (e.g.,  257 ) as a default account and thus being associated with all merchant categories. When the mobile wallet ( 213 ) is used at a location having a merchant category code that is not associated with other accounts (e.g.,  251 ,  253 , . . . ), the default account is considered a match. 
     In one embodiment, the user selection of the merchant category code groups for association with the accounts (e.g.,  251 ,  253 , . . . ,  257 ) represents the user preferences of the accounts. For a given set of merchant category codes associated with the current location of the mobile device ( 201 ), the mobile wallet ( 213 ) is configured to determine matching scores of the accounts ( 251 ,  253 , . . . ,  257 ) configured in the mobile wallet. In one embodiment, the more merchant category codes an account has that do not match with the merchant category codes associated with the current location, the lower the matching score of the account for the current location. 
     In one embodiment, the mobile wallet is configured to periodically retrieve from the loyalty programs and/or issuers of the accounts ( 251 ,  253 , . . . ,  257 ) the reward rules ( 215 ). 
     For example, the Chase&#39;s Freedom Card offers a promotion where, for three months, restaurant purchases would earn 5% cash back. The mobile wallet associates the account ( 251 ) with the merchant category ( 217 ) (e.g., restaurant) and with the reward scale ( 291 ) (e.g., 5% cash back) as part of the reward rules ( 215 ). 
     In one embodiment, the matching score includes the weight of the reward scale. For example, the higher the reward scale, the larger is the added weight for matching with the merchant category of the account (e.g.,  251 ). 
     In one embodiment, when a user ( 101 ) selects a merchant category group ( 217 ) for association with an account ( 251 ), the user interface ( 205 ) allows the user ( 101 ) to specify a reward scale ( 291 ). The reward scale ( 291 ) quantifies the user preference, which can be compared with the corresponding reward scales ( 219 ) of reward rules. Thus, the user preference and the reward rules can be considered in a unified matching score. 
     Further, in one embodiment, the mobile wallet is configured to adjust the user specified reward scale ( 219 ) according to usage patterns of the mobile wallet to optimize the scoring to improve the accuracy in predicting the payment account the user ( 101 ) would like to use at a location of a given set of merchant category codes. 
     In one embodiment, after the determination of the merchant attribute ( 229 ) (e.g., merchant category codes) for the location determined by the GPS receiver ( 211 ), the mobile wallet ( 213 ) sorts and/or selects a top matching account (e.g.,  251 ) as the “top of the wallet” account. 
     For example, in  FIG. 2 , the mobile device ( 201 ) includes an NFC transceiver ( 207 ) to communicate account information ( 142 ) to the NFC reader/transceiver ( 231 ) of the transaction terminal ( 105 ) of the merchant to make the payment using the account information ( 42 ) that identifies the “top of the wallet” account. 
     In one embodiment, the user interface ( 205 ) is configured to optionally show the list of sorted accounts and allow the user to select an account for the payment transaction at the current location, before the mobile wallet ( 213 ) communicates the account information ( 142 ) to the transaction terminal ( 105 ). If the “top of the wallet” account is not selected, the mobile wallet ( 213 ) adjusts the reward preference ( 215 ) (e.g., via a machine learning technique) to improve the accuracy in predicting the “top of the wallet” account. Thus, over a period of time, the accuracy of predictions of the mobile wallet become satisfactory; and the user may simply use the mobile wallet ( 213 ) to make the payment using the “top of the wallet” account identified by the mobile wallet ( 213 ), without requesting a view of the list accounts ( 251 ,  253 , . . . ,  257 ) that is dynamically ordered according to the merchant category codes of the location coordinates ( 221 ) determined by the GPS receiver ( 211 ). 
     In  FIG. 2 , the transaction terminal ( 105 ) is connected to an electronic payment processing network, which includes an acquirer processor ( 147 ) controlling the merchant account ( 148 ) and the issuer processor ( 146 ) controlling the consumer account ( 146 ) identified by the account information ( 142 ). The transaction handler ( 103 ) interconnects the issuer processors (e.g.,  145 ) and the acquirer processors (e.g.,  147 ) in the electronic payment processing network. 
       FIG. 3  shows a method to process a payment based on a location of a mobile device according to one embodiment. For example, the method of  FIG. 3  can be implemented in the system of  FIG. 2 . 
     In  FIG. 3 , a computing apparatus is configured to: store ( 241 ) account information of a plurality of payment accounts in a mobile device; store ( 243 ) data identifying merchant category based rules of rewards for making payments using the accounts; determine ( 245 ) location coordinates of the mobile device using a GPS receiver; determine ( 247 ) a merchant category associated with the location coordinates; rank ( 249 ) the payment accounts in an order based on reward benefits predicted based on the merchant category; and process ( 251 ) a payment at the location based on the order of the payment accounts. 
     In one embodiment, the mobile device ( 201 ) is configured to automatically communicate member ID of the user in a merchant loyalty program to the POS during the payment processing and thus eliminates the need to separately identify the membership (e.g., by swiping the loyalty card from the merchant, or entering the phone number of the user to indicate the membership). 
     In one embodiment, payment accounts in a mobile wallet implemented in a mobile device are sorted and selected for payment transactions based on the location coordinates determined by the location determination system of the mobile device. For example, after the global positioning system (GPS) receiver of the mobile device determines its current location coordinates, the mobile device is configured to determine one or more attributes associated with the location coordinates. A set of rules are applied to score the payment accounts based on the attributes and sort the payment accounts in the mobile wallet based on the scores. When the mobile wallet is used to make a payment, the payment accounts are presented in the sorted order for making the payment. 
       FIG. 4  shows an electronic payment processing system according to one embodiment. 
     In  FIG. 4 , the transaction handler ( 103 ) is coupled between an issuer processor ( 145 ) in control of a consumer account ( 146 ) and an acquirer processor ( 147 ) in control of a merchant account ( 148 ). An account identification device ( 141 ) is configured to carry the account information ( 142 ) that identifies the consumer account ( 146 ) with the issuer processor ( 145 ) and provide the account information ( 142 ) to the transaction terminal ( 105 ) of a merchant to initiate a transaction between the user ( 101 ) and the merchant. 
       FIGS. 5 and 6  illustrate examples of transaction terminals ( 105 ) and account identification devices ( 141 ).  FIG. 7  illustrates the structure of a data processing system ( 170 ) that can be used to implement, with more or fewer elements, at least some of the components in the system, such as the transaction handler ( 103 ), the portal ( 143 ), the data warehouse ( 149 ), the account identification device ( 141 ), the transaction terminal ( 105 ), etc. 
     In one embodiment, the financial transactions are made via an account identification device ( 141 ), such as financial transaction cards (e.g., credit cards, debit cards, banking cards, etc.); the financial transaction cards may be embodied in various devices, such as plastic cards, chips, radio frequency identification (RFID) devices, mobile phones, personal digital assistants (PDAs), etc.; and the financial transaction cards may be represented by account identifiers (e.g., account numbers or aliases). In one embodiment, the financial transactions are made via directly using the account information ( 142 ), without physically presenting the account identification device ( 141 ). 
     In one embodiment, the transaction handler ( 103 ) couples with a centralized data warehouse ( 149 ) organized around the transaction data. For example, the centralized data warehouse ( 149 ) may include, and/or support the determination of, spend band distribution, transaction count and amount, merchant categories, merchant by state, cardholder segmentation by velocity scores, and spending within merchant target, competitive set and cross-section. 
     For example, the centralized data warehouse ( 149 ) may include advertisement data and/or offers of benefits such as discount, reward, points, cashback, etc. The offers can be communicated to the users (e.g.,  101 ) via the portal ( 143 ) or other communication channels. 
     In one embodiment, the centralized data warehouse ( 149 ) provides centralized management but allows decentralized execution. For example, a third party strategic marketing analyst, statistician, marketer, promoter, business leader, etc., may access the centralized data warehouse ( 149 ) to analyze customer and shopper data, to provide follow-up analyses of customer contributions, to develop propensity models for increased conversion of marketing campaigns, to develop segmentation models for marketing, etc. The centralized data warehouse ( 149 ) can be used to manage advertisement campaigns and analyze response profitability. 
     In one embodiment, the centralized data warehouse ( 149 ) includes merchant data (e.g., data about sellers), customer/business data (e.g., data about buyers), and transaction records ( 301 ) between sellers and buyers over time. The centralized data warehouse ( 149 ) can be used to support corporate sales forecasting, fraud analysis reporting, sales/customer relationship management (CRM) business intelligence, credit risk prediction and analysis, advanced authorization reporting, merchant benchmarking, business intelligence for small business, rewards, etc. 
     Transaction Processing and Data 
       FIG. 4  shows an electronic payment processing system according to one embodiment. 
     In  FIG. 4 , the transaction handler ( 103 ) is coupled between an issuer processor ( 145 ) and an acquirer processor ( 147 ) to facilitate authorization and settlement of transactions between a consumer account ( 146 ) and a merchant account ( 148 ). The transaction handler ( 103 ) records the transactions in the data warehouse ( 149 ). 
     The portal ( 143 ) is configured to communicate with user devices outside the electronic payment processing network. The portal ( 143 ) may be implemented as a web portal, a telephone gateway, a file/data server, etc. 
     In  FIG. 4 , the transaction terminal ( 105 ) initiates the transaction for a user ( 101 ) (e.g., a customer) for processing by a transaction handler ( 103 ). The transaction handler ( 103 ) processes the transaction and stores transaction data about the transaction, in connection with account data, such as the account profile of an account of the user ( 101 ). The account data may further include data about the user ( 101 ), collected from issuers or merchants, and/or other sources, such as social networks, credit bureaus, merchant provided information, address information, etc. In one embodiment, a transaction may be initiated by a server (e.g., based on a stored schedule for recurrent payments). 
     The accumulated transaction data and the corresponding account data are used to generate intelligence information about the purchase behavior, pattern, preference, tendency, frequency, trend, amount and/or propensity of the users (e.g.,  101 ), as individuals or as a member of a group. The intelligence information can then be used to generate, identify and/or select targeted advertisements for presentation to the user ( 101 ), during a transaction, after a transaction, or when other opportunities arise. 
     In  FIG. 4 , the consumer account ( 146 ) is under the control of the issuer processor ( 145 ). The consumer account ( 146 ) may be owned by an individual, or an organization such as a business, a school, etc. The consumer account ( 146 ) may be a credit account, a debit account, or a stored value account. The issuer may provide the consumer (e.g., user ( 101 )) an account identification device ( 141 ) to identify the consumer account ( 146 ) using the account information ( 142 ). The respective consumer of the account ( 146 ) can be called an account holder or a cardholder, even when the consumer is not physically issued a card, or the account identification device ( 141 ), in one embodiment. The issuer processor ( 145 ) is to charge the consumer account ( 146 ) to pay for purchases. 
     The account identification device ( 141 ) of one embodiment is a plastic card having a magnetic strip storing account information ( 142 ) identifying the consumer account ( 146 ) and/or the issuer processor ( 145 ). Alternatively, the account identification device ( 141 ) is a smartcard having an integrated circuit chip storing at least the account information ( 142 ). The account identification device ( 141 ) may optionally include a mobile phone having an integrated smartcard. 
     The account information ( 142 ) may be printed or embossed on the account identification device ( 141 ). The account information ( 142 ) may be printed as a bar code to allow the transaction terminal ( 105 ) to read the information via an optical scanner. The account information ( 142 ) may be stored in a memory of the account identification device ( 141 ) and configured to be read via wireless, contactless communications, such as near field communications via magnetic field coupling, infrared communications, or radio frequency communications. Alternatively, the transaction terminal ( 105 ) may require contact with the account identification device ( 141 ) to read the account information ( 142 ) (e.g., by reading the magnetic strip of a card with a magnetic strip reader). 
     The transaction terminal ( 105 ) is configured to transmit an authorization request message to the acquirer processor ( 147 ). The authorization request includes the account information ( 142 ), an amount of payment, and information about the merchant (e.g., an indication of the merchant account ( 148 )). The acquirer processor ( 147 ) requests the transaction handler ( 103 ) to process the authorization request, based on the account information ( 142 ) received in the transaction terminal ( 105 ). The transaction handler ( 103 ) routes the authorization request to the issuer processor ( 145 ) and may process and respond to the authorization request when the issuer processor ( 145 ) is not available. The issuer processor ( 145 ) determines whether to authorize the transaction based at least in part on a balance of the consumer account ( 146 ). 
     The transaction handler ( 103 ), the issuer processor ( 145 ), and the acquirer processor ( 147 ) may each include a subsystem to identify the risk in the transaction and may reject the transaction based on the risk assessment. 
     The account identification device ( 141 ) may include security features to prevent unauthorized uses of the consumer account ( 146 ), such as a logo to show the authenticity of the account identification device ( 141 ), encryption to protect the account information ( 142 ), etc. 
     The transaction terminal ( 105 ) of one embodiment is configured to interact with the account identification device ( 141 ) to obtain the account information ( 142 ) that identifies the consumer account ( 146 ) and/or the issuer processor ( 145 ). The transaction terminal ( 105 ) communicates with the acquirer processor ( 147 ) that controls the merchant account ( 148 ) of a merchant. The transaction terminal ( 105 ) may communicate with the acquirer processor ( 147 ) via a data communication connection, such as a telephone connection, an Internet connection, etc. The acquirer processor ( 147 ) is to collect payments into the merchant account ( 148 ) on behalf of the merchant. 
     In one embodiment, the transaction terminal ( 105 ) is a POS terminal at a traditional, offline, “brick and mortar” retail store. In another embodiment, the transaction terminal ( 105 ) is an online server that receives account information ( 142 ) of the consumer account ( 146 ) from the user ( 101 ) through a web connection. In one embodiment, the user ( 101 ) may provide account information ( 142 ) through a telephone call, via verbal communications with a representative of the merchant; and the representative enters the account information ( 142 ) into the transaction terminal ( 105 ) to initiate the transaction. 
     In one embodiment, the account information ( 142 ) can be entered directly into the transaction terminal ( 105 ) to make payment from the consumer account ( 146 ), without having to physically present the account identification device ( 141 ). When a transaction is initiated without physically presenting an account identification device ( 141 ), the transaction is classified as a “card-not-present” (CNP) transaction. 
     In general, the issuer processor ( 145 ) may control more than one consumer account ( 146 ); the acquirer processor ( 147 ) may control more than one merchant account ( 148 ); and the transaction handler ( 103 ) is connected between a plurality of issuer processors (e.g.,  145 ) and a plurality of acquirer processors (e.g.,  147 ). An entity (e.g., bank) may operate both an issuer processor ( 145 ) and an acquirer processor ( 147 ). 
     In one embodiment, the transaction handler ( 103 ), the issuer processor ( 145 ), the acquirer processor ( 147 ), the transaction terminal ( 105 ), the portal ( 143 ), and other devices and/or services accessing the portal ( 143 ) are connected via communications networks, such as local area networks, cellular telecommunications networks, wireless wide area networks, wireless local area networks, an intranet, and Internet. Dedicated communication channels may be used between the transaction handler ( 103 ) and the issuer processor ( 145 ), between the transaction handler ( 103 ) and the acquirer processor ( 147 ), and/or between the portal ( 143 ) and the transaction handler ( 103 ). 
     In  FIG. 4 , the transaction handler ( 103 ) uses the data warehouse ( 149 ) to store the records about the transactions, such as the transaction records ( 301 ) or transaction data. 
     Typically, the transaction handler ( 103 ) is implemented using a powerful computer, or cluster of computers functioning as a unit, controlled by instructions stored on a computer readable medium. The transaction handler ( 103 ) is configured to support and deliver authorization services, exception file services, and clearing and settlement services. The transaction handler ( 103 ) has a subsystem to process authorization requests and another subsystem to perform clearing and settlement services. The transaction handler ( 103 ) is configured to process different types of transactions, such credit card transactions, debit card transactions, prepaid card transactions, and other types of commercial transactions. The transaction handler ( 103 ) interconnects the issuer processors (e.g.,  145 ) and the acquirer processor (e.g.,  147 ) to facilitate payment communications. 
     In  FIG. 4 , the transaction terminal ( 105 ) is configured to submit the authorized transactions to the acquirer processor ( 147 ) for settlement. The amount for the settlement may be different from the amount specified in the authorization request. The transaction handler ( 103 ) is coupled between the issuer processor ( 145 ) and the acquirer processor ( 147 ) to facilitate the clearing and settling of the transaction. Clearing includes the exchange of financial information between the issuer processor ( 145 ) and the acquirer processor ( 147 ); and settlement includes the exchange of funds. 
     In  FIG. 4 , the issuer processor ( 145 ) is configured to provide funds to make payments on behalf of the consumer account ( 146 ). The acquirer processor ( 147 ) is to receive the funds on behalf of the merchant account ( 148 ). The issuer processor ( 145 ) and the acquirer processor ( 147 ) communicate with the transaction handler ( 103 ) to coordinate the transfer of funds for the transaction. The funds can be transferred electronically. 
     The transaction terminal ( 105 ) may submit a transaction directly for settlement, without having to separately submit an authorization request. 
     In one embodiment, the portal ( 143 ) provides transaction based statistics, such as indicators for retail spending monitoring, indicators for merchant benchmarking, industry/market segmentation, indicators of spending patterns, etc. Further examples can be found in U.S. Pat. App. Pub. No. 2009/0048884, and entitled “Merchant Benchmarking Tool,” the disclosure of which application is hereby incorporated herein by reference. 
     Transaction Terminal 
       FIG. 5  illustrates a transaction terminal according to one embodiment. The transaction terminal ( 105 ) illustrated in  FIG. 5  can be used in various systems discussed in connection with other figures of the present disclosure. In  FIG. 5 , the transaction terminal ( 105 ) is configured to interact with an account identification device ( 141 ) to obtain account information ( 142 ) about the consumer account ( 146 ). 
     In one embodiment, the transaction terminal ( 105 ) includes a memory ( 167 ) coupled to the processor ( 151 ), which controls the operations of a reader ( 163 ), an input device ( 153 ), an output device ( 165 ) and a network interface ( 161 ). The memory ( 167 ) may store instructions for the processor ( 151 ) and/or data, such as an identification that is associated with the merchant account ( 148 ). 
     In one embodiment, the reader ( 163 ) includes a magnetic strip reader. In another embodiment, the reader ( 163 ) includes a contactless reader, such as a radio frequency identification (RFID) reader, a near field communications (NFC) device configured to read data via magnetic field coupling (in accordance with ISO standard 14443/NFC), a Bluetooth transceiver, a WiFi transceiver, an infrared transceiver, a laser scanner, etc. 
     In one embodiment, the input device ( 153 ) includes key buttons that can be used to enter the account information ( 142 ) directly into the transaction terminal ( 105 ) without the physical presence of the account identification device ( 141 ). The input device ( 153 ) can be configured to provide further information to initiate a transaction, such as a personal identification number (PIN), password, zip code, etc. that may be used to access the account identification device ( 141 ), or in combination with the account information ( 142 ) obtained from the account identification device ( 141 ). 
     In one embodiment, the output device ( 165 ) may include a display, a speaker, and/or a printer to present information, such as the result of an authorization request, a receipt for the transaction, an advertisement, etc. 
     In one embodiment, the network interface ( 161 ) is configured to communicate with the acquirer processor ( 147 ) via a telephone connection, an Internet connection, or a dedicated data communication channel. 
     In one embodiment, the instructions stored in the memory ( 167 ) are configured at least to cause the transaction terminal ( 105 ) to send an authorization request message to the acquirer processor ( 147 ) to initiate a transaction. The transaction terminal ( 105 ) may or may not send a separate request for the clearing and settling of the transaction. The instructions stored in the memory ( 167 ) are also configured to cause the transaction terminal ( 105 ) to perform other types of functions discussed in this description. 
     In one embodiment, a transaction terminal ( 105 ) may have fewer components than those illustrated in  FIG. 5 . For example, in one embodiment, the transaction terminal ( 105 ) is configured for “card-not-present” transactions; and the transaction terminal ( 105 ) does not have a reader ( 163 ). 
     In one embodiment, a transaction terminal ( 105 ) may have more components than those illustrated in  FIG. 5 . For example, in one embodiment, the transaction terminal ( 105 ) is an ATM machine, which includes components to dispense cash under certain conditions. 
     Account Identification Device 
       FIG. 6  illustrates an account identifying device according to one embodiment. In  FIG. 6 , the account identification device ( 141 ) is configured to carry account information ( 142 ) that identifies the consumer account ( 146 ). 
     In one embodiment, the account identification device ( 141 ) includes a memory ( 167 ) coupled to the processor ( 151 ), which controls the operations of a communication device ( 159 ), an input device ( 153 ), an audio device ( 157 ) and a display device ( 155 ). The memory ( 167 ) may store instructions for the processor ( 151 ) and/or data, such as the account information ( 142 ) associated with the consumer account ( 146 ). 
     In one embodiment, the account information ( 142 ) includes an identifier identifying the issuer (and thus the issuer processor ( 145 )) among a plurality of issuers, and an identifier identifying the consumer account among a plurality of consumer accounts controlled by the issuer processor ( 145 ). The account information ( 142 ) may include an expiration date of the account identification device ( 141 ), the name of the consumer holding the consumer account ( 146 ), and/or an identifier identifying the account identification device ( 141 ) among a plurality of account identification devices associated with the consumer account ( 146 ). 
     In one embodiment, the account information ( 142 ) may further include a loyalty program account number, accumulated rewards of the consumer in the loyalty program, an address of the consumer, a balance of the consumer account ( 146 ), transit information (e.g., a subway or train pass), access information (e.g., access badges), and/or consumer information (e.g., name, date of birth), etc. 
     In one embodiment, the memory includes a nonvolatile memory, such as magnetic strip, a memory chip, a flash memory, a Read Only Memory (ROM), etc. to store the account information ( 142 ). 
     In one embodiment, the information stored in the memory ( 167 ) of the account identification device ( 141 ) may also be in the form of data tracks that are traditionally associated with credits cards. Such tracks include Track 1 and Track 2. Track 1 (“International Air Transport Association”) stores more information than Track 2, and contains the cardholder&#39;s name as well as the account number and other discretionary data. Track 1 is sometimes used by airlines when securing reservations with a credit card. Track 2 (“American Banking Association”) is currently most commonly used and is read by ATMs and credit card checkers. The ABA (American Banking Association) designed the specifications of Track 1 and banks abide by it. It contains the cardholder&#39;s account number, encrypted PIN, and other discretionary data. 
     In one embodiment, the communication device ( 159 ) includes a semiconductor chip to implement a transceiver for communication with the reader ( 163 ) and an antenna to provide and/or receive wireless signals. 
     In one embodiment, the communication device ( 159 ) is configured to communicate with the reader ( 163 ). The communication device ( 159 ) may include a transmitter to transmit the account information ( 142 ) via wireless transmissions, such as radio frequency signals, magnetic coupling, or infrared, Bluetooth or WiFi signals, etc. 
     In one embodiment, the account identification device ( 141 ) is in the form of a mobile phone, personal digital assistant (PDA), etc. The input device ( 153 ) can be used to provide input to the processor ( 151 ) to control the operation of the account identification device ( 141 ); and the audio device ( 157 ) and the display device ( 155 ) may present status information and/or other information, such as advertisements or offers. The account identification device ( 141 ) may include further components that are not shown in  FIG. 6 , such as a cellular communications subsystem. 
     In one embodiment, the communication device ( 159 ) may access the account information ( 142 ) stored on the memory ( 167 ) without going through the processor ( 151 ). 
     In one embodiment, the account identification device ( 141 ) has fewer components than those illustrated in  FIG. 6 . For example, an account identification device ( 141 ) does not have the input device ( 153 ), the audio device ( 157 ) and the display device ( 155 ) in one embodiment; and in another embodiment, an account identification device ( 141 ) does not have components ( 151 - 159 ). 
     For example, in one embodiment, an account identification device ( 141 ) is in the form of a debit card, a credit card, a smartcard, or a consumer device that has optional features such as magnetic strips, or smartcards. 
     An example of an account identification device ( 141 ) is a magnetic strip attached to a plastic substrate in the form of a card. The magnetic strip is used as the memory ( 167 ) of the account identification device ( 141 ) to provide the account information ( 142 ). Consumer information, such as account number, expiration date, and consumer name may be printed or embossed on the card. A semiconductor chip implementing the memory ( 167 ) and the communication device ( 159 ) may also be embedded in the plastic card to provide account information ( 142 ) in one embodiment. In one embodiment, the account identification device ( 141 ) has the semiconductor chip but not the magnetic strip. 
     In one embodiment, the account identification device ( 141 ) is integrated with a security device, such as an access card, a radio frequency identification (RFID) tag, a security card, a transponder, etc. 
     In one embodiment, the account identification device ( 141 ) is a handheld and compact device. In one embodiment, the account identification device ( 141 ) has a size suitable to be placed in a wallet or pocket of the consumer. 
     Some examples of an account identification device ( 141 ) include a credit card, a debit card, a stored value device, a payment card, a gift card, a smartcard, a smart media card, a payroll card, a health care card, a wrist band, a keychain device, a supermarket discount card, a transponder, and a machine readable medium containing account information ( 142 ). 
     In one embodiment, a mobile phone is configured to sort payment cards stored therein based on its location. After the mobile phone determines its current location coordinates via GPS, the mobile phone determines one or more parameters, such as the merchant category of payment transactions to be made at the current location. Based on the one or more parameters determined from the location, the mobile phone applies a set of rules to adjust the order of the payment cards in a mobile wallet implemented in the mobile phone based on optimization of potential rewards that are expected from the use of the payment cards. For example, the merchant category can be used to predict the loyalty rewards resulting from using the respective payment cards in the mobile wallet; and the order of the payment cards stored in the mobile phone can be adjusted to list the payment card that offers most rewards on the top. 
     In one embodiment, a method implemented in a mobile device includes: storing, in the mobile device, data identifying a plurality of payment accounts, each respective payment account of which is associated with a loyalty program that provides loyalty benefits for payment transactions made in the respective payment account; determining, by the mobile device, a location of the mobile device at a time of the making a payment at a point of sales terminal; identifying, by the mobile device, a merchant category of the payment based on the location of the mobile device; applying, by the mobile device, a set of predetermined rules based at least in part on the merchant category to determine an order of the plurality of payment accounts to optimize loyalty benefits generated from the payment; and processing, by the mobile device, the payment based on the order. 
     Hardware 
       FIG. 7  illustrates a data processing system according to one embodiment. While  FIG. 7  illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components. One embodiment may use other systems that have fewer or more components than those shown in  FIG. 7 . 
     In  FIG. 7 , the data processing system ( 170 ) includes an inter-connect ( 171 ) (e.g., bus and system core logic), which interconnects a microprocessor(s) ( 173 ) and memory ( 167 ). The microprocessor ( 173 ) is coupled to cache memory ( 179 ) in the example of  FIG. 7 . 
     In one embodiment, the inter-connect ( 171 ) interconnects the microprocessor(s) ( 173 ) and the memory ( 167 ) together and also interconnects them to input/output (I/O) device(s) ( 175 ) via I/O controller(s) ( 177 ). I/O devices ( 175 ) may include a display device and/or peripheral devices, such as mice, keyboards, modems, network interfaces, printers, scanners, video cameras and other devices known in the art. In one embodiment, when the data processing system is a server system, some of the I/O devices ( 175 ), such as printers, scanners, mice, and/or keyboards, are optional. 
     In one embodiment, the inter-connect ( 171 ) includes one or more buses connected to one another through various bridges, controllers and/or adapters. In one embodiment the I/O controllers ( 177 ) include a USB (Universal Serial Bus) adapter for controlling USB peripherals, and/or an IEEE-1394 bus adapter for controlling IEEE-1394 peripherals. 
     In one embodiment, the memory ( 167 ) includes one or more of: ROM (Read Only Memory), volatile RAM (Random Access Memory), and non-volatile memory, such as hard drive, flash memory, etc. 
     Volatile RAM is typically implemented as dynamic RAM (DRAM) which requires power continually in order to refresh or maintain the data in the memory. Non-volatile memory is typically a magnetic hard drive, a magnetic optical drive, an optical drive (e.g., a DVD RAM), or other type of memory system which maintains data even after power is removed from the system. The non-volatile memory may also be a random access memory. 
     The non-volatile memory can be a local device coupled directly to the rest of the components in the data processing system. A non-volatile memory that is remote from the system, such as a network storage device coupled to the data processing system through a network interface such as a modem or Ethernet interface, can also be used. 
     In this description, some functions and operations are described as being performed by or caused by software code to simplify description. However, such expressions are also used to specify that the functions result from execution of the code/instructions by a processor, such as a microprocessor. 
     Alternatively, or in combination, the functions and operations as described here can be implemented using special purpose circuitry, with or without software instructions, such as using Application-Specific Integrated Circuit (ASIC) or Field-Programmable Gate Array (FPGA). Embodiments can be implemented using hardwired circuitry without software instructions, or in combination with software instructions. Thus, the techniques are limited neither to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the data processing system. 
     While one embodiment can be implemented in fully functioning computers and computer systems, various embodiments are capable of being distributed as a computing product in a variety of forms and are capable of being applied regardless of the particular type of machine or computer-readable media used to actually effect the distribution. 
     At least some aspects disclosed can be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache or a remote storage device. 
     Routines executed to implement the embodiments may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically include one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations necessary to execute elements involving the various aspects. 
     A machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform various methods. The executable software and data may be stored in various places including for example ROM, volatile RAM, non-volatile memory and/or cache. Portions of this software and/or data may be stored in any one of these storage devices. Further, the data and instructions can be obtained from centralized servers or peer to peer networks. Different portions of the data and instructions can be obtained from different centralized servers and/or peer to peer networks at different times and in different communication sessions or in a same communication session. The data and instructions can be obtained in entirety prior to the execution of the applications. Alternatively, portions of the data and instructions can be obtained dynamically, just in time, when needed for execution. Thus, it is not required that the data and instructions be on a machine readable medium in entirety at a particular instance of time. 
     Examples of computer-readable media include but are not limited to recordable and non-recordable type media such as volatile and non-volatile memory devices, read only memory (ROM), random access memory (RAM), flash memory devices, floppy and other removable disks, magnetic disk storage media, optical storage media (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks (DVDs), etc.), among others. The computer-readable media may store the instructions. 
     The instructions may also be embodied in digital and analog communication links for electrical, optical, acoustical or other forms of propagated signals, such as carrier waves, infrared signals, digital signals, etc. However, propagated signals, such as carrier waves, infrared signals, digital signals, etc. are not tangible machine readable medium and are not configured to store instructions. 
     In general, a machine readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). 
     In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the techniques. Thus, the techniques are neither limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system. 
     OTHER ASPECTS 
     The description and drawings are illustrative and are not to be construed as limiting. The present disclosure is illustrative of inventive features to enable a person skilled in the art to make and use the techniques. Various features, as described herein, should be used in compliance with all current and future rules, laws and regulations related to privacy, security, permission, consent, authorization, and others. Numerous specific details are described to provide a thorough understanding. However, in certain instances, well known or conventional details are not described in order to avoid obscuring the description. References to one or an embodiment in the present disclosure are not necessarily references to the same embodiment; and, such references mean at least one. 
     The use of headings herein is merely provided for ease of reference, and shall not be interpreted in any way to limit this disclosure or the following claims. 
     Reference to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, and are not necessarily all referring to separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by one embodiment and not by others. Similarly, various requirements are described which may be requirements for one embodiment but not other embodiments. Unless excluded by explicit description and/or apparent incompatibility, any combination of various features described in this description is also included here. For example, the features described above in connection with “in one embodiment” or “in some embodiments” can be all optionally included in one implementation, except where the dependency of certain features on other features, as apparent from the description, may limit the options of excluding selected features from the implementation, and incompatibility of certain features with other features, as apparent from the description, may limit the options of including selected features together in the implementation. 
     The disclosures of the above discussed patent documents are hereby incorporated herein by reference. 
     In the foregoing specification, the disclosure has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.