Smart shopping cart with E-wallet store injection search

Information

  • Patent Grant
  • 11354723
  • Patent Number
    11,354,723
  • Date Filed
    Friday, January 11, 2019
    5 years ago
  • Date Issued
    Tuesday, June 7, 2022
    2 years ago
Abstract
The E-WALLET STORE INJECTION SEARCH APPARATUSES, METHODS AND SYSTEMS (“SIS”) transform aggregated automated shopping lists and user location data using SIS components into automated shopping item availability messages and merchant location navigation responses. In some implementations, the disclosure provides a processor-implemented method of providing an automated store injection search service.
Description

This application for letters patent disclosure document describes inventive aspects that include various novel innovations (hereinafter “disclosure”) and contains material that is subject to copyright, mask work, and/or other intellectual property protection. The respective owners of such intellectual property have no objection to the facsimile reproduction of the disclosure by anyone as it appears in published Patent Office file/records, but otherwise reserve all rights.


This application is related to Patent Cooperation Treaty International Application No. PCT/US2012/045875 filed Jul. 7, 2012 entitled “Bidirectional Bandwidth Reducing Notifications And Targeted Incentive Platform Apparatuses, Methods And Systems.”


The entire contents of the aforementioned application(s) are expressly incorporated by reference herein.


FIELD

The present innovations generally address merchant store injection package searching, and more particularly, include E-WALLET STORE INJECTION SEARCH APPARATUSES, METHODS AND SYSTEMS.


However, in order to develop a reader's understanding of the innovations, disclosures have been compiled into a single description to illustrate and clarify how aspects of these innovations operate independently, interoperate as between individual innovations, and/or cooperate collectively. The application goes on to further describe the interrelations and synergies as between the various innovations; all of which is to further compliance with 35 U.S.C. § 112.


BACKGROUND

Consumers may desire to purchase products and may create shopping lists of items for purchase. Merchants may stock products for purchase by consumers. Consumers may visit merchants during the merchant's business hours to purchase products that may be on their shopping list.





BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying appendices and/or drawings illustrate various nonlimiting, example, innovative aspects in accordance with the present descriptions:



FIG. 1 shows an example block diagram illustrating aspects of the SIS, in one implementation of the SIS operation;



FIG. 2 shows an example data flow illustrating aspects of store injection search, in one implementation of the SIS operation;



FIGS. 3A-B show an example logic flow illustrating aspects of automated shopping item availability processing, e.g., an example AAP Component, in one implementation of the SIS operation;



FIG. 4A provides an example block diagram illustrating tracking consumer ad exposure via store injection within embodiments of the SIS;



FIG. 4B provides an example block diagram illustrating predictive/seasonal advertising within embodiments of the SIS;



FIGS. 5A-5B show block diagrams illustrating data flows between SIS server and affiliated entities within various embodiments of the SIS;



FIGS. 6A-6B provide logic flow diagrams illustrating embodiments of the SIS;



FIG. 7A provides a logic flow diagram illustrating predictive advertising within embodiments of the SIS;



FIGS. 7B-7C provide a logic flow illustrating correlating consumer trigger activities and purchases in one embodiment of the SIS;



FIGS. 8A-8D provide example screen shots illustrating embodiments of the SIS;



FIG. 8E provides a schematic mobile application screen shots within embodiments of the SIS;



FIG. 9 shows a block diagram illustrating example embodiments of the SIS.



FIG. 10 shows a data flow diagram illustrating collecting information for predictive shopping lists in some embodiments of the SIS.



FIG. 11 shows a data flow diagram illustrating collecting receipt information for predictive shopping lists in some embodiments of the SIS.



FIGS. 12a-c show logic flow diagrams illustrating parsing receipts and generating predictive shopping lists in some embodiments of the SIS.



FIG. 13 shows a logic flow diagram illustrating obtaining electronic receipts in some embodiments of the SIS.



FIG. 14 shows a data flow diagram illustrating collecting code information for predictive shopping lists in some embodiments of the SIS.



FIG. 15 shows a logic flow diagram illustrating collecting code information for predictive shopping lists in some embodiments of the SIS.



FIG. 16 shows a data flow diagram illustrating collecting snap purchase information for predictive shopping lists in some embodiments of the SIS.



FIG. 17 shows a logic flow diagram illustrating collecting snap purchase information for predictive shopping lists in some embodiments of the SIS.



FIG. 18 shows a block diagram illustrating using predictive shopping lists with a smart shopping cart in some embodiments of the SIS.



FIGS. 19a-b show data flow diagrams illustrating using predictive shopping lists with a smart shopping cart in some embodiments of the SIS.



FIGS. 20-a-b show logic flow diagrams illustrating using predictive shopping lists with a smart shopping cart in some embodiments of the SIS.



FIG. 21 shows a data flow diagram illustrating providing predictive shopping list feedback in some embodiments of the SIS.



FIG. 22 shows a data flow diagram illustrating receiving predictive shopping list feedback from other users in some embodiments of the SIS.



FIG. 23 shows a logic flow diagram illustrating receiving feedback for predictive shopping list in some embodiments of the SIS.



FIG. 24 shows a block diagram illustrating notifying users of nearby merchants with items on predictive shopping list in some embodiments of the SIS.



FIG. 25 shows a data flow diagram illustrating notifying users of nearby merchants with items on predictive shopping list in some embodiments of the SIS.



FIGS. 26a-b show logic flow diagrams illustrating notifying users of nearby merchants with items on predictive shopping list in some embodiments of the SIS.



FIG. 27 shows a block diagram illustrating a PoS checkout code in some embodiments of the SIS.



FIGS. 28A-B are an example data flow illustrating aspects of product placement revenue sharing, in one embodiment of the SIS;



FIGS. 29A-B illustrate an example logic flow depicting aspects of user location engagement processing, e.g., an example ULEP Component, in one embodiment of a SIS;



FIG. 30 is an example logic flow illustrating aspects of rendering injection responses with interaction tracking, e.g., an example RIR Component, in one embodiment of a SIS;



FIG. 31 shows an example logic flow illustrating aspects of processing virtual engagement messages, e.g., an example PVE Component, in one embodiment of a SIS;



FIGS. 32A-B are example logic flows illustrating aspects of product placement revenue share processing, e.g., an example PPR Component, in one embodiment of a SIS;



FIG. 33 shows a user interface diagram illustrating example aspects of a wallet bonds settings mode of a virtual wallet application, in one implementation of the SIS operation; and



FIG. 34 shows a block diagram illustrating aspects of an exemplary embodiment of a SIS user interface controller, in one implementation of the SIS operation.





The leading number of each reference number within the drawings indicates the figure in which that reference number is introduced and/or detailed. As such, a detailed discussion of reference number 101 would be found and/or introduced in FIG. 1. Reference number 201 is introduced in FIG. 2, etc.


DETAILED DESCRIPTION
SIS

The E-WALLET STORE INJECTION SEARCH APPARATUSES, METHODS AND SYSTEMS (hereinafter “SIS” user interface) transform the user automated shopping list and user location updates, via SIS components, into automated shopping list triggering events and notifications. In some embodiments, this is carried out in real time.



FIG. 1 shows a block diagram illustrating example aspects of the SIS, in some embodiments of the SIS. In one embodiment, consumer 101 may desire to build a shopping list on their mobile phone by scanning items, retrieving receipts from previous purchases (e.g., by providing email access credentials, social media credentials, and/or the like for automated scanning of previous purchases), entering items or services into an automated shopping list, and/or the like, e.g., 101a. In one embodiment, the user's mobile device may use past purchase history to build an automated shopping list. In other embodiments, a user may specify a generic item for purchase (e.g., “orange juice”, “dinner for Thursday”, “a gift for Jody”, “the highest ranked LCD television on lcdreviews.com”, and/or the like). In so doing, the SIS may match items from the user's automated shopping list to multiple items at a merchant, or may determine that a merchant may fulfill an item on the user's shopping list even though the merchant does not have the specific item the user scanned or input into their shopping list. In some embodiments, the SIS may enable a user to mark certain items on their list as available for substitution, in which case although a user has specified a specific item (e.g., “Sony LCD television Model X-4587”, and/or the like), the SIS may notify the user if they are within range of a store location containing a substitute item or service. In one embodiment, a consumer may specify notification rules that may be used by SIS Server 103 in order to alert the consumer when a certain portion of their list is available for purchase, when certain items are within range, when an item marked with a buying deadline is available, and/or the like, e.g., 101b. In one embodiment, merchant 102 may periodically update a store injection package with current inventory stock levels, e.g., 102a. The merchant may update their store injection packages of their own initiative, in response to a triggering event such as a purchase at one of their locations, in response to a request from SIS Server 103, and/or the like. In one embodiment, SIS Server 103 may monitor both a consumer's shopping list and a merchant's store injection packages and notify the consumer when they are within range of stores that can satisfy a certain portion of their shopping list, e.g., 103a. In one embodiment, the notification rules for notifying a consumer may be customized by the consumer (e.g., by specifying a priority item, marking items with must-buy-before date/times, specifying categories of shopping list items with differing notification rules, and/or the like).



FIG. 2 shows an example data flow illustrating aspects of store injection search, in one embodiment of the SIS. In one embodiment, consumer 201 may input an aggregated automated shopping list. Other examples of aggregated automated shopping list creation may be found with respect to FIGS. 10-27. An aggregated shopping list may be built by the consumer by scanning items for purchase (e.g., a photo of the item, an item's UPC barcode, and/or the like), selecting items from a scanned receipt, directly entering items on a mobile device, and/or the like, e.g., 204. In one embodiment, a consumer may specify a generic item for purchase (e.g., “orange juice”, “dinner for Thursday”, “a gift for Jody”, “the highest ranked LCD television on lcdreviews.com”, and/or the like). In one embodiment, an aggregated automated shopping list may be specified using a voice-to-text translation API such as Apple Siri, Google Now, and/or the like. Aggregated automated shopping lists may be built using predictive shopping lists, such as may be generated by analysis of a consumer's past purchase behavior, wish list settings, and/or the like. Further detail regarding aggregated automated shopping list building using predictive shopping features may be found herein and with respect to FIGS. 10-27. In one embodiment, the consumer may specify that certain items are available for substitution, such that an alternative item may be suggested and/or substituted by the SIS.


In one embodiment, a consumer's mobile device may transmit an aggregated automated shopping list update request 205 to a SIS server 202. An automated shopping list update may, in one example, contain a list of items or services that the consumer wants to purchase as well as meta-data about the items or services such as a date to buy before, a maximum distance the consumer is willing to travel to purchase the item, a maximum price setting, a payment account to use when the item is bought, and/or the like. In some embodiments, groups of consumers (such as, for example, families) may collectively maintain an aggregated automated shopping list such that each consumer's location may be used to determine when items on the aggregated shopping list may be purchased. In one embodiment, group aggregated automated shopping lists may be built using electronic wallet bonds such that restrictions and options may be associated with access to and modification of a consumer's aggregated automated shopping list. Further detail regarding wallet bonds may be found herein and with respect to FIG. 33. Additional detail relating to wallet bonds may be found in U.S. patent application Ser. No. 13/520,481, filed Jul. 3, 2012, entitled “Universal Electronic Payment Apparatuses, Methods and Systems”, the entirety of which is hereby incorporated by reference. An example aggregated automated shopping list update request 205, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:














POST /aggregated_automated_shopping_list_update_req.php HTTP/1.1


Host: www.SISserver.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<aggregated_automated_shopping_list_update_req>


  <timestamp>2020-12-12 15:22:43</timestamp>


  <auth type=“consumerdevice”>


    <api key=“87KJHIUIUYGUY” />


    <certificate>


      &GHJHTYFDRTJDTRTRDTRFD


      * 876CFDTRW#E#UYFYUKW#@


      LO*I&TRDFKHDRT$WGFVYIU


    </certificate>


</auth>


<device type=“iPhone” id=“IF434543” />


<user_ID=“56434”>


  <name value=“John Consumer” />


  <current_location lat=“23.654” lon=“12.987” />


</user>


<list_update type=“aggregated_automated_list” id=“7649”>


  <list_name value=“my_daily_shopping_list” />


  <last_updated value=“2020-12-12 15:18:42” />


  <list_contents>


  <item type=“specific item”>


  <name value=“Sony LCD Television” />


  <model value=“HW-876765” />


  <max_price value=“$999.95” />


  <can_substitute value=“no_substitutions” />


  </item>


  <item type=“specific_item”>


    <name value=“Levis 501 Jeans” />


    <model value=“501” />


    <size value=“32Slim” />


    <max_price value=“$59.95” />


    <can_substitute value=“substitutions_allowed” />


    <aggregate_item_with type=“family_members”>


      <with type=“person” value=“dad” id=“E654654” />


      <with type=“person” value=“mom” id=“E45657” />


      <with type=“person” value=“brother” id=“E31548” />


      <allow_access_to_payment_method>


        <pan_num>5454878765653232</pan_num>


        <exp_date>12/25</exp_date>


      </allow_access_to_payment_method>


    </aggregated_item_with>


  </item>


  <item type=“generic_item”>


    <search_name>orange juice</search_name>


    <max_distance value=“2 miles” />


  </item>


  <item type=“service”>


    <search_name>haircut</search_name>


  </item>


  <item>


  ...


  </item>


 </list_contents>


</list_update>


<list_update>


  ...


  </list_update>


</aggregated_automated_shopping_list_update_req>









In one embodiment, the SIS server 202 may update the user's aggregated automated shopping list, e.g., 206. In other embodiments, the aggregated automated shopping list may be stored on the user's mobile device or a third-party server and live-streamed or made available to the SIS server.


In one embodiment, the consumer's mobile device may transmit a consumer location update, e.g., 207, to SIS server 202. In so doing, the SIS server may utilize the user's current location to determine if items on the user's automated shopping list may be purchased at merchant locations nearby that have stock of said items. In one example, the SIS server may also determine substitute items that may be purchased in place of a specific item, may determine a specific item from a generically listed item (e.g., determining that a certain store has a particular brand of orange juice in stock when the consumer's automated list contains an item for “juice”, and/or the like), and/or the like. An example consumer location update 207, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:

















POST /consumer_location_update.php HTTP/1.1



Host: www.SISserver.com



Content-Type: Application/XML



Content-Length: 667



<?XML version = “1.0” encoding = “UTF-8”?>



<consumer_location_update>



 <timestamp>2020-12-12 15:25:43</timestamp>



 <auth type=“consumerdevice”>



  <api key=“87KJHIUIUYGUY” />



  <certificate>



   &GHJHTYFDRTJDTRTRDTRFD



   *876CFDTRW#E#UYFYUKW#@



   LO*I&TRDFKHDRT$WGFVYIU



   </certificate>



 </auth>



 <device type=“iPhone” id=“IF434543” />



 <user_ID=“56434”>



  <name value=“John Consumer” />



  <current_location lat=“23.654” lon=“12.987” />



 </user>



</consumer_location_update>










In one embodiment, SIS server 202 may then determine if items are available based on the user's location, the user's notification preferences, and the store injection packages of merchant's in the consumer's area, e.g., 208. Further detail regarding automated shopping item availability processing may be found with respect to FIGS. 3A-B, e.g., AAP Component 300.


In one embodiment, SIS server 202 may respond to the consumer with a notification that certain items are available within range of the consumer's current location, e.g., an aggregated automated shopping item availability message 209. In so doing, a consumer may be notified that a certain number of items, a certain portion of an aggregated automated shopping list, a substitute item, an item marked as high priority, and/or the like, is available for purchase at a merchant. The distance from the consumer to the merchant required to generate the item availability message may be specified by the consumer, variable (e.g., based on the consumer's current location, the consumer's current mode of travel, and/or the like), based on item characteristics such as price or inventory stock levels, based on the quantity of an item the consumer has remaining (e.g., the number of oranges in the consumer's home refrigerator), the estimated expiration date of an item (e.g., milk expiration date) and/or the like. An example aggregated automated shopping item availability message 209, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:














POST /aggregated_automated_item_availability_msg.php HTTP/1.1


Host: www.consumerdevice.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<aggregated_automated_shopping_item_availability_message>


 <timestamp>2020-12-12 15:28:43</timestamp>


 <auth type=“SIS_server”>


  <api key=“AWERFVIUYGUY” />


  <certificate>


   OIMOIHUYTJDTRTRDTRFD


   CTRCRECRETRC#UYFYUKW#@


   IJHUTRFTRTRDRT$WGFVYIU


   </certificate>


 </auth>


 <item_availability>


   <item type=“specific_item”>


    <from_list value=“my_daily_shopping_list” />


    <!-- items may be substituted -->


    <is_specific_item_requested value=“true” />


    <name value=“Sony LCD Television” />


    <model value=“HW-876765” />


    <store name=“BestBuy”>


     <location lat=“12.756564” lon=“56.45454”


          aisle=“4” stack=“2” shelf=“4” />


     <distance value=“.5 miles” />


     <point_accruing_item value=“true”


       Points_with_purchase=“1000 bonus points” />


     <pay_with_points value=“true”>


      <points_option value=“visa points” />


      <points_option value=“chase points” />


     </pay_with_points>


     <current_price value=“$855.95” />


     <current_inventory value=“14” />


    </store>


    <store>


      ...


    </store>


   </item>


   <item type=“generic_item”>


    <search name>orange juice</search_name>


    <store name=“ShopRite Grocery Store”>


     <location lat=“12.856564” lon=“57.45454”


       aisle=“5” stack=“7” shelf=“1” />


     <distance value=“.67 miles” />


     <item name=“Tropicana Orange Juice” />


     <current_inventory value=“85” />


    </store>


   </item>


   <item type=“specific_item_aggregated_shared_list”> <from_list


    value=“mom_shopping_list” />


    <name value=“Lentil Soup” />


    <store name=“ShopRite Grocery Store”>


     <location lat=“12.856564” lon=“57.45454”


       aisle=“4” stack=“2” shelf=“2” />


     <distance value=“.67 miles” />


     <item name=“Gordon's Lentil Soup” />


     <quantity_required value=“2” />


     <current_price value=“2.99” />


     <current_inventory value=“85” />


    </store>


   </item>


   <item>


   ...


   </item>


</aggregated_automated_shopping_item_availability_message>









In one embodiment, the consumer's mobile device may render an automated item availability message, e.g., 210. The message may notify the consumer that a given criteria for an aggregated automated shopping list has been met. In one embodiment, the consumer mobile device may then direct the consumer to a first merchant location, e.g., 211. The merchant locations to be visited may be ordered by the SIS server to minimize time in transit, to ensure item availability, and/or the like. For example, if one merchant that is to be visited to purchase an item on the aggregated automated shopping list has only two of an item on-hand remaining, the consumer may be directed to that merchant first even though it may not be the closest merchant. In so doing, the SIS may minimize the chance that an item will sell out in the time between when the SIS notified a consumer that an item was available at a merchant and when the consumer actually arrives at the merchant to purchase the item.


In one embodiment, upon arriving at a merchant location 211, consumer 201 may use their mobile device to request that the SIS provide a navigation package to the device for use in helping the consumer find a given item in the store, e.g., a merchant location navigation request 212. For example, the SIS may direct a consumer to a store that the consumer has never been to before as part of fulfilling the consumer's aggregated automated shopping list. In order to minimize the time required by the consumer to purchase the desired item, the SIS server may provide a portion of a store injection package (e.g., an item aisle/shelf location, and/or the like), a store map, and/or the like in order to assist the consumer in quickly finding items. In another embodiment, the consumer may utilize an injection enabled shopping cart or device on a merchant's premises. The consumer's mobile device may communicate the portion of the consumer's aggregated shopping list that is to be purchased at the merchant and the injection enabled shopping cart or device may then route the consumer through the store in the most expeditious manner (e.g., by providing a visual store layout, by indicating a path the consumer should follow through the store, and/or the like). An example merchant location navigation request 212, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:














POST /merchant_location_navigation_request.php HTTP/1.1


Host: www.SISserver.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<merchant_location_navigation_request>


 <timestamp>2020-12-12 15:35:43</timestamp>


 <auth type=“consumer_device”>


  <api key=“AWERFVIUYGUY” />


  <certificate>


   OIMOIHUYTJDTRTRDTRFD


   CTRCRECRETRC#UYFYUKW#@


   IJHUTRFTRTRDRT$WGFVYIU


   </certificate>


 </auth>


 <store name=“BestBuy”>


  <device type=“iPhone” id=“E456745” />


  <shopping_cart id=“SC34” />


  <augmented_reality device=“google_glasses” sid=“gg654654” />


  <location lat=“12.756564” lon=“56.45454”


    aisle=“4” stack=“2” shelf=“4” />


  <item>


   <item type=“specific_item”>


   <from_list value=“my_daily_shopping_list” />


   <name value=“Sony LCD Television” />


   <model value=“HW-876765” />


  </item>


 </store>


</merchant_location_navigation_request>









In one embodiment, SIS server may respond to the consumer device with a merchant location navigation response, e.g., 213. The navigation response may contain store route information, aisle/shelf information for items, a best-path through the store based on current public traffic, and/or the like. An example merchant location navigation response 213, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:

















POST /merchant_location_navigation_response.php HTTP/1.1



Host: www.consumerdevice.com



Content-Type: Application/XML



Content-Length: 667



<?XML version = “1.0” encoding = “UTF-8”?>



<merchant_location_navigation_response>



 <timestamp>2020-12-12 15:28:43</timestamp>



 <auth type=“SIS_server”>



  <api key=“AWERFVIUYGUY” />



  <certificate>



   OIMOIHUYTJDTRTRDTRFD



   CTRCRECRETRC#UYFYUKW#@



   IJHUTRFTRTRDRT$WGFVYIU



  </certificate>



 </auth>



 <store name=“BestBuy”>



  <location lat=“12.756564” lon=“56.45454”



         aisle=“4” stack=“2” shelf=“4” />



  <store_map_overlay>



   <uri value=“https:/ /indoormapserver.com/ IUYTUY“ />



  </store_map_overlay>



  <item>



   <name value=“Sony LCD Television” />



   <model value=“HW-876765” />



   <item_location>



    <item_aisle value=“4” />



    <item_stack value=“2” />



    <item_shelf value=“4” />



    <from_entrance x=“55-feet” y=“213-feet” />



   </item_location>



  </item>



  <item>



  ...



 </item>



</merchant_location_navigation_response>










Periodically, SIS server 202 may request that merchant server's, e.g., 203a-b provide an updated store injection package for use by the SIS server. The SIS server may request an updated store injection package, e.g., a store injection package aggregation update request 211a-b. In response, a merchant server may prepare and deliver an updated store injection package containing current inventory levels, pricing, and/or the like, e.g., a store injection package aggregation update response 212a-b. In other embodiments, store injection package aggregation updates may be provided to the SIS server automatically (e.g., periodically, via a live-stream, a cron job, and/or the like) and/or at the initiation of the merchant server or a third-party server. An example store injection package aggregation update request 211a, 211b, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:














POST /store_injection_aggregation_update_request.php HTTP/1.1


Host: www.merchantserver.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<store_injection_aggregation_update_request>


 <timestamp>2020-12-12 15:41:43</timestamp>


 <auth type=“SIS_server”>


  <api key=“AWERFVIUYGUY” />


  <certificate>


   OIMOIHUYTJDTRTRDTRFD


   CTRCRECRETRC#UYFYUKW#@


   IJHUTRFTRTRDRT$WGFVYIU


  </certificate>


 </auth>


 <injection_request type=“update_injection”>


  <post_to value=“https:/ /injsrv.com/in/87664654“ />


  <last_package_received seq=“87674345”


        time=“2020-12-12 13:14:54” />


  <future_injection_schedule type=“set_schedule” />


   <category number=“1” name=“frequent”>


    <item type=“produce” update freq=“10minutes” />


    <item type=“seafood” update_freq=“25minutes” />


   </category>


   <category number=“2” name=“occasional”>


    <item type=“cereal” update_freq=“daily” />


   </category>


   <category number=“3”>


    ...


   </category>


  </future_injection_schedule>


 </injection_request>


 <injection request>


  ...


 </injection_request>


</store_injection_aggregation_update_request>









In one embodiment, the merchant server may prepare a store injection package for transmission. For example, the merchant server may poll point-of-sale terminals in a given store location to retrieve up-to-the-minute sales information for inventory in a store. In one embodiment, the merchant server may poll a third-party pricing server (which, in one example, may determine pricing based on market conditions, stock market index values, weather at a given location, and/or the like) in order to determine real-time pricing values for items or services available in a given merchant store location. In one embodiment, merchant server 203a, 203b, may respond with a store injection package or a modified store injection package (e.g., a diff package, and/or the like), e.g., a store injection package aggregation update response 212a, 212b. An example store injection package aggregation update response 212a, 212b, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:














POST /store_injection_aggregation_update_response.php HTTP/1.1


Host: www.SISserver.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<store_injection_aggregation_update_response>


 <timestamp>2020-12-12 15:42:18</timestamp>


 <auth type=“merchant_server”>


  <api key=“AWERFVIUYGUY” />


  <certificate>


   UYTFG&{circumflex over ( )}%TJDTRTRDRECFTTRFD


     IUHYGTFUYFYFTYGTYFTRFKW#@


     654TYFGFRTRRTRDRT$WGFVYIU


     </certificate>


   </auth>


   <store id=“767543”>


    <name val=“ShopRite Grocery Store” />


    <addr val=“500 Main St., Anytown, CA, 90245” />


    <hours>


     <open when=“m-f” open=“8am” close=“9pm” />


     <closed when=“sat-sun” />


    </hours>


    <next_nearest_location>


     <location id=“654454” distance=“6miles” />


    </next_nearest_location>


    <store_map loc=“https:/ /mapsrv.com/876876“ />


    <augmented_reality_flag value=“ON” />


    <shopping_cart_injection_routing_available


        value=“yes” qty=“12carts_in_store” />


    <injection>


     <item upc=“E65465432”>


      <name val=“Morgan's Mustard” />


      <description>


       Morgan's mustard is spicy, rich, and made the same


       since 1924!


      </description>


      <price val=“4.56” currency=“usd” />


      <item_image type=“jpeg” kind=“inline_binary_stream”>


        ÿØÿàJFIFddDuckyUÿîAdobedÀÿÛ...


      </item image>


      <unit_of_measure type=“bottle” value=“10oz” />


      <quantity in_store=“54” on_order=“100”


          next_delv=“+2day” />


      <loc lat=“7.45454” lon=“4.876876”


         store_x=“56feet” store_y=“234feet”


         aisle=“4” stack=“2” shelf=“5” />


      <item_specials>


       <coupon kind=“manuf” type=“prct_discount”


       val=“10%” />


      </item_specials>


   </item>


   <item upc=“T54543”>


    <name val=“Tropicanna Orange Juice” />


    <description>


     Florida Fresh Orange Juice!


    </description>


    <price val=“6.99” currency=“usd” />


    <unit_of_measure type=“container” value=“lgal” />


    <quantity in_store=“12” product_expires=“Mar-23”


       on order=“75” next_delv=“+1day” />


    <loc lat=“7.52454” lon=“4.906876”


       store_x=“156feet” store_y=“12feet”


       aisle=“18” stack=“3” shelf=“1” />


    <payment_options>


     <pay_with points_value=“true”>


      <program name=“VisaPoints” price=“200” />


      <program name=“MerchantPoints” price=“300” />


     </pay_with_points>


    </payment_options>


   </item>


   <item>


   ...


   </item>


  </injection>


  <injection>


   ...


  </ injection>


  <store_injection_enhanced_interface_data>


   <floorplan_URL>


    www.inject.com?id=ANAv483&type=img


   </ floorplan_URL>


   <UI_script_URL>


    www.inject.com?id=ANAv483&type=script


    </UI_script_URL>


   <ShopAssistant_Ulbundle_url>


    www.inject.com?id=ANAv483&type=bundle


   </ShopAssistant_Ulbundle_url>


   <AugmentedRealityFloorplanCartPinOverlayUI_html5_url>


    www.inject.com?id=ANAv483&type=html5


   </AugmentedRealityFloorplanCartPinOverlayUI_html5_url>


   <InteractiveStore_flash_url>


    www.inject.com?id=ANAv483&type=flash


   </InteractiveStore_flash_url>


  </store_injection_enhanced_interface_data>


 </ store>


 <store>


  ...


  </store>


<store_injection_aggregation_update_response>










FIGS. 3A-B show an example logic flow illustrating aspects of automated shopping item availability processing, e.g., an AAP Component 300, in one embodiment of the SIS. In one embodiment, consumer device 301 may transmit a consumer location update notification, e.g., 304 to SIS server 302. The SIS server may receive the location update and extract the contents (e.g., by utilizing an integrated parse capability as described herein and with respect to FIG. 34), e.g., 305. In one embodiment, an automated shopping list may be contained in the location update location, e.g., 306. The list may be extracted, e.g., 307, and the contents of the list used to update a record in a shopping list database in communication with the SIS server, e.g., 308. In one embodiment, user location data (e.g., cell phone WiFi triangulation data, cellular tower information, GPS output, and/or the like) may be extracted from the location update notification, e.g., 309. A user automated shopping database may be queried for a current user automated shopping list corresponding with the consumer and/or consumer device, e.g., 310. In one embodiment, a merchant database may be queried for merchants that are in a proximity to the user's location (e.g., within walking distance, within a certain mileage, a certain bounded area indicated by the consumer, and/or the like), e.g., 311. Merchants may have store injection packages associated with their stores and/or store locations. Store injection packages may be periodically updated by initiative of the SIS server (e.g., by initiating an update procedure and contacting a merchant server), on the initiative of the merchant (e.g., by the merchant pushing updated store injection packages to the SIS server), and/or the like. In one embodiment, store injection packages may contain current inventory stock levels, current offers or specials available to consumers, staff that are currently in the store location, item pricing information, item descriptions, item reviews, and/or the like.


In one embodiment, if any merchant store injection packages are expired (e.g., not updated within a given time quantum, do not contain enough items, have stale data, are past an indicated merchant or SIS set expiration date/time, and/or the like), e.g., 312, a merchant location store injection package update request may be initiated, e.g., 313. Merchant server 303 may receive the update request, e.g., 314, extract the contents, generate an updated store injection package, and transmit or make the injection package available for use by the SIS server or a third-party server, e.g., 315. In one embodiment, SIS server 302 may update the store injection database with the merchant location package store injection contents, e.g., 316. In one embodiment, a store injection database may be queried to retrieve current store injection packages for stores near the user's location, e.g., 317.


With respect to FIG. 3B, SIS server 302 may process the store injection packages to determine proximate merchants that can provide items that are on the consumer's automated shopping list, e.g., 318. For example, the SIS server may execute a keyword or UPC number scan of the identified merchant store injection packages to determine nearby merchants that can provide items on the consumer's automated shopping list. In one embodiment, the SIS server may query the user automated shopping database for user shopping requirement threshold values, e.g., 319. Threshold values may be values that the consumer or SIS server has set that identify when the consumer should be notified of automated shopping opportunities. For example, in one embodiment, a consumer may choose to be notified only when a certain percentage of their shopping list is available for purchase in a given radius. In other embodiments, a consumer may set shopping requirement threshold values that identify some items as high priority (e.g., items that may override otherwise more restrictive threshold values), items that must be purchased by a certain date/time, and/or the like. In one embodiment, if the shopping requirement threshold values are met, e.g., 320, a store injection search availability notification may be prepared, e.g., 321. In one embodiment, consumer device 301 may then notify the consumer that an automated shopping list triggering event has occurred and, in one example, direct the consumer to a series of store locations to execute their purchases, e.g., 322. If the shopping requirement threshold values are not met, e.g., 320, the SIS server may determine if the consumer's automated shopping list contains any generic or substitutable items, e.g., 323. Generic items may be items on the consumer's shopping list that may be readily replaced with a more specific varietal of item while still preserving the user's desired purchase intent. For example, if a consumer indicated that they wanted to buy “juice for breakfast”, a generic substitution for “orange juice” or “apple juice” would be appropriate. An item on the consumer's list may not be generic but may nevertheless be marked or designated (e.g., by the consumer, the SIS server itself, and/or the like) as an item capable of substitution. For example, if a user's automated shopping list contains a specific model of Sony television, the consumer may mark the item as substitutable for items of equivalent or better specifications (e.g., same or larger screen size, resolution, and/or the like) by a different manufacturer. In one embodiment, the SIS server may determine candidate items that may be substituted for items on the consumer's automated shopping list, e.g., 324. In one embodiment, if items are substituted, e.g., 325, the processing of store injection packages may repeat. In other embodiments, if no items are substitutable, the SIS server may determine if any items on the consumer's automated shopping list are priority items, e.g., 326. A priority item may be an item that the consumer designates that should be bought, if available in a proximity, even if the applicable user shopping requirement threshold values are not met. In one embodiment, if the SIS server determines that a proximate merchant can provide an item marked as a priority item, e.g., 327, then a store injection search availability notification may be prepared and sent to the consumer device, e.g., 321, and the consumer notified of the priority item shopping opportunity, e.g., 322.



FIG. 4A provides an example block diagram illustrating tracking consumer ad exposure via store injection within embodiments of the SIS. Within embodiments, in one implementation, the consumer “John Smith” 411, may walk into a computer store 416 and obtain information from a sales representative 423 for a featured product. In one implementation, such in-person interaction 422 including exposure to advertisements may not be able to be tracked by monitoring the consumer's online activities.


In one implementation, the SIS may track such in-store advertisement exposure via a store injection component 424 instantiated with the consumer's mobile wallet 433. For example, the consumer's mobile wallet 401 may track the consumer's store check-in showing the consumer has spent significant time with the merchant store 425. In another implementation, the store injection component 424 may track the consumer's interested products in store.


In one implementation, when the consumer “John Smith” 402 makes a subsequent purchase, e.g., via an Internet shopping site 426, the SIS server 419 may generate heuristics that the purchase is a result of the in-store advertisement and sales work. The SIS server 419 may then distribute a contingent ad fee 418 to the retailer, e.g., the computer store 416.



FIG. 4B provides an example block diagram illustrating predictive/seasonal advertising within embodiments of the SIS. Within implementations, upon purchasing a product, the SIS may obtain a purchase transaction confirmation 429 from a consumer, a merchant, a financial processing payment network/issuer (e.g., Visa, etc.) and/or the like. The SIS server 419 may generate heuristics data based on the consumer's purchasing history and shopping patterns to provide individualized advertisement delivery. For example, if the consumer 402 has just bought a plasma TV 428, the SIS server 419 may determine based on heuristics 430 that it is unlikely the consumer may be interested in shopping for another plasma TV within at least 6 months, and may not provide plasma TV ads to the user.


In one implementation, the SIS server may be integrated with an Ad Network server 431 to provide ads to a consumer. In another implementation, the SIS server may comprise an independent server that will feed information to the ad network server 431 as to what ads to be provided to the consumer. For example, the ad network server 431 may receive instructions to generate predictive ads 432 that do not include a TV ad. In another example, the SIS server may instead feature TV related products ads to the user 427, e.g., video game equipment, home theatre system, etc. For example, if the same consumer browses an online store for electronics and searches for popular electronic products, the electronics store may not provide ads of plasma TVs but the complementary gaming gadgets to the consumer.



FIG. 5A shows a block diagram illustrating data flows between SIS server and affiliated entities within various embodiments of the SIS. Within various embodiments, one or more consumers 502, SIS server 520, SIS database(s) 519, merchant 550, and/or advertising channels 530 are shown to interact via various communication network 513.


In one embodiment, a consumer 502, may operate a wide variety of different user devices, including communications devices and technologies within embodiments of SIS operation. For example, in one embodiment, the consumer devices may include, but are not limited to, computer terminals, work stations, cellular telephony handsets, smart phones, tablets, personal digital assistants (PDAs), and/or the like. In one embodiment, the SIS server 520 may be equipped at a terminal computer of the consumer 502. For example, the SIS component may be instantiated on a consumer device to conduct SIS analysis. In another embodiment, the SIS server 520 may be a remote server which is accessed by the consumer 502 via a communication network 513, such as, but not limited to local area network (LAN), in-house intranet, the Internet, and/or the like.


In one implementation, the consumer 502 may be associated with an electronic wallet 503, which may have various registered accounts, including one or more bank accounts, an SIS service account, a merchant membership account, and/or the like, possessed with the consumer 502. For example, a consumer may possess an electronic wallet linked a Bank of America checking account, a Chase credit card account, a Sam's Club membership account, and/or the like. For another example, the consumer's electronic wallet may be registered for the SIS service. For another example, a consumer may operate a mobile device to access his electronic wallet to make a purchase, as further illustrated in the example screen shots.


In one embodiment, the consumer's electronic wallet may be registered with the SIS server 520. For example, the consumer's electronic wallet may comprise a tag indicating the consumer electronic wallet is “SIS enabled.” In one implementation, when a consumer initiates a browser session via a personal device (e.g., a laptop, a smart phone, etc.), such as opening a browsing window on Internet Explorer, Firefox, Safari, Google Chrome, and/or the like, the browser may state information of the session indicating the session is eligible for SIS service. For example, when a consumer searches for desired products on Google, the user's browser may contain cookies of an SIS label, and may notify the Google server of such SIS label; the search engine may return a list of SIS featured search results, e.g., listing the SIS participating merchants' products/advertisements on top of the list. In this way, the consumer may obtain advertising information 508 from the merchants' advertising channels 530, e.g., the Internet, etc.


In alternative implementations, the consumer 502 may click on a URL link and view an online advertisement 508 from an advertising channel 530, such as a news site, a social media ad, and/or the like.


In another embodiment, upon receiving an advertisement (e.g., on the consumer's Internet browser, etc.), the consumer's activities 515 may be recorded and forwarded to the SIS server 520. For example, in one implementation, the SIS server may run a Java applet within the consumer's browser and monitor the consumer's interactive activities with the displayed advertisement, e.g., clicking on the advertisement link, visiting a merchant website following links provided in the advertisement, making a subsequent purchase on the merchant website, and/or the like. The SIS server 520 may store the consumer activity information, and correlate it with subsequently received purchasing information to determine whether the consumer's purchase is triggered by the advertisement.


For example, in one implementation, the consumer device may provide a consumer activity message 515 to the SIS server 520 as a HTTP(S) POST message including XML-formatted data. An example listing of a consumer activity message 515, substantially in the form of a HTTP(S) POST message including XML-formatted data, is provided below:














 POST /consumer_activity.php HTTP/1.1


 Host: www.SIS.com


 Content-Type: Application/XML


 Content-Length: 667


 <?XML version = “1.0” encoding = “UTF-8”?>


 <consumer activity>


   <activity_ID> WEB2015-9991 </activity_ID>


    <timestamp>2015-12-15 17:15:56 </timestamp>


   <Source>


     <hardware_ID> JS-00923 <hardware_ID>


     <hardware_type> Apple iPhone </hardware_type>


     <IP_address> 206.205.82.130 </IP_address>


     <session_type> browser </session_type>


     <session_ID> G656TD <session_ID>


   ...


   </Source>


    <user>


     <user_ID> JS-001 </user_ID>


     <user_name> John Smith </user_name>


     <user_number> 000-000-0001 </user_number>


     ...


   </user>


    <Message>


     <message_type> query </message_type>


     <url> www.google.com </url>


     <key_term> “men sweater” </key_term>


     <ad_exposure>


        <ad_l>


          <ad-id> BR_0001 </ad-id>


      </ad_sponsor> Banana Republic


</ad_sponsor>


       <url> www.banana-republic.com/men/sweater </url>


      <activity> click and view </activity>


      <duration> 00:01:56 </duration>


      ...


    </ad_l>


    <ad_2>


          <ad-id> AX_0001 </ad-id>


          <ad_sponsor> Armani Exchange


 </ad_sponsor>


          <url>


 www.armani exchange.com/men/sweater </url>


          <activity> click </activity>


          <duration> 00:00:04 </duration>


          ...


      <ad_2>


      ...


      <ad_exposure>


    </Message>


      ...


 </consumer_activity>









In the above example, the consumer activity message 515 includes a consumer Google search event for “men sweater,” and the consumer subsequently clicked on two advertisement links returned in the search results, e.g., the “Banana Republic” and “Armani Exchange,” and the consumer's interactions with the advertisements, e.g., click and view, or just click through, etc., and the duration that the consumer has stayed on the advertisement are recorded and included in the consumer activity message 515.


In another implementation, the SIS may track consumer advertisement exposure via In-Store injection data and web crawl via a profile aggregator.


In one implementation, the consumer may submit payment information to make a purchase request 524a with the merchant 550 (e.g., either at a physical merchant store, or an online shopping site, etc.) when the consumer is interested in the advertised products. For example, in one implementation, the consumer may visit a participating merchant store's website, a third party shopping website featuring the merchant's product (e.g., Amazon.com, Zappos.com, etc.) and/or visit product advertisement via social media (e.g., Facebook, Twitter, etc.), and/or the like, and may submit an online purchase request if a desired product by providing payment information, e.g., entering a credit card number, electronic wallet information, and/or the like.


For another example, the consumer may visit a merchant store and make an in-store purchase of the product. In one embodiment, the consumer 502 may provide his SIS wallet information included in the payment request 524a to a merchant store 550 prior to his check-out. For example, in one implementation, the consumer may swipe an SIS membership magstripe card at a POS terminal of the merchant store. For another example, the consumer may operate a smart phone for registration with the POS via short messages. For another example, the consumer may register with the merchant via bar code scan of the consumer's SIS membership card and/or the product.


For example, in one implementation, the consumer may provide a purchase request 524a to the merchant server 550 as a HTTP(S) POST message including XML-formatted data. An example listing of a payment request 524a, substantially in the form of a HTTP(S) POST message including XML-formatted data, is provided below:














POST /payment-request.php HTTP/1.1


Host: www.merchant.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<payment_request>


   <request_ID>RS-99942e</request_ID>


   <timestamp>2015-12-20 17:15:56 </timestamp>


   <Source>


     <hardware_ID> JS-00923 <hardware_ID>


     <hardware_type> Apple iPhone </hardware_type>


     <IP_address> 206.205.82.130 </IP_address>


     <session_type> browser </session_type>


     <session_ID> G656TD <session_ID>


     ...


   </Source>


   <user>


     <user_ID> JS-001 </user_ID>


     <user_name> John Smith </user_name>


     <user_number> 000-000-0001 </user_number>


     ...


   </user>


   <payment>


     <type> Visa mobile wallet </type>


     <account> visa </account>


     <account_no> 0000 0000 0000 0000 </account_no>


     <routing_no> 123456789 </routing_no>


     <CCV> 000 </CCV>


     <amount> 99.99 </amount>


     ...


   </payment>


   <product>


     <MCC> 09090909 </MCC>


     <category> apparel </category>


     <description> men sweater navy </description>


     <price> 99.99 </price>


     <brand> Banana Republic </brand>


     ...


   </product>


   <merchant>


     <merchant_name> Banana Republic </merchant_name>


     <source> www.banana-republic.com/online/shop/...


</source>


     ...


   </merchant>


   </payment_request>









In one implementation, the SIS server 520 may obtain an indication of the user purchase from a purchase request 524b received from a merchant 520. In another implementation, a payment network/issuer (e.g., Visa) 540 may receive and process the purchase request 524b from the merchant 550 and may provide a purchase confirmation 524c to the the SIS server 520 as an indication of purchase transaction when the transaction is finished and cleared. For example, the purchase confirmation message 524c may include fields similar to that of the purchase request, including fields such as the product information, merchant information, a timestamp, and/or the like.


In one implementation, the SIS server 520 may determine whether the purchase is correlated with any prior ad exposure activity 527. For example, in one implementation, the SIS may determine whether the purchase transaction is a result of consumer exposure to an ad, or the consumer naturally having the propensity to shop with the merchant. In another example, the SIS may determine a next possible purchase interval (e.g., if a consumer has bought a plasma TV, it is unlikely the consumer may purchase a second one within 6 months, etc.). In another example, the SIS may determine complementary products to the purchase transaction (e.g., video gaming gadgets as complementary to the purchase of a plasma TV, etc.). Upon the correlation, the merchant 550 may determine whether an affiliate payment 533 is due to the SIS server 520 and/or the advertising channel 530. In an alternative implementation, the SIS server 520 may receive an indication of the purchase (e.g., via the consumer's wallet, via the SIS java applet if the consumer makes an online purchase, etc.), and then determine a correlation of the purchase between the purchase and the consumer's Internet activity. For example, if the merchant record shows the consumer has never purchased any products from the merchant in the past six months, but the purchase is made after a subsequent viewing of the merchant's advertisement, as indicated in the internet activity 515 recorded at the SIS server 520, the merchant may provide affiliate payment to SIS server 520 and the advertising channel 530 based on their agreement, e.g., 2% of the purchase price to SIS server, 2% to the advertising channel (e.g., Google, etc.).


In one embodiment, the merchant may provide incentive rewards to the consumer, e.g., a rebate amount, etc., for using SIS. For example, after the consumer has made a purchase, and the SIS server has correlated the purchase to the consumer's internet activity of viewing an SIS advertisement of the product, the merchant 550 may allocate 2% of the purchase price of the purchase as incentive rewards to the consumer. In one implementation, the SIS server credit the incentive rewards to the consumer's electronic wallet. In alternative implementations, a variety of incentive awards may be provided to the consumer, such as store points, coupons, sample gifts, and/or the like.


In one implementation, the merchant may provide affiliate payment to the SIS server 520, which may re-distribute the affiliate payment to the consumer as incentive rewards, and affiliate payment to the advertising channels 530 for advertising fee. For example, the merchant may allocate 6% of the purchase price of a transaction to the SIS server 520, and request 2% be re-distributed to an advertising channel (e.g., Google, etc.), and 2% be credited to the consumer.


In one embodiment, the SIS server 520 may establish data records of registered consumers, merchants, past transactions 523 for storage in a database 519. For example, in one implementation, the consumer/merchant transaction record 523 may comprise information with regard to the purchase price, a purchase time-stamp, conditions of the purchase (e.g., whether eligible for SIS affiliate payment), and/or the like.


For example, an exemplary XML record of a transaction may take a form similar to the following:














<Transaction>


<TransactionID> 223456789 </TranactionID>


   <TransactionTime> 09:10:23 06-06-2000 </TransactionTime>


   <TransactionPrice> 39.99 </TransactionPrice>


   <ProductID> BR-Men-89999 <?ProductID>


   <Merchant>


     <MerchantID> M0008 </MerchantID>


   <MerchantName> Banana Republic </MerchantName>


     <ProductID> BR_Men_Sweater_89999 </ProductID>


     <MerchantRule>


       <TimeFrame> 280 days </TimeFrame>


       <PurchaseRange> Category <PurchaseRange>


       <BrandRange> Banana Republic <BrandRange>


       <AffiliatePaymentRule>


         <Rule1>


         <Amount> 2% </Amount


         <Entity> SIS <Entity>


         </Rule1>


         <Rule2>


         <Amount> 2% </Amount>


     ... <Entity> Google <Entity>


         </Rule2>


         <Rule3>


         <Amount> 2% </Amount>


     ... <Entity> Consumer <Entity> </Rule3>


       </AffiliatePaymentRule>


       ...


     </MerchantRule>


       <EligibleSourceSites>


         <Site1> www.bananarepublic.com </Site1>


         <Site2> www.Amazon.com </Site2>


         <Site3> www.6pm.com </Site2>


        ...


       </EligibleSourceSites>


 ...


   </Merchant>


   <ConsumerID> 00001 </ConsumerID>


   <ConsumerWalletID> Wallet8888 </ConsumerWalletID>


   <Consumer>


   <ConsumerHistory>


     <Brand> banana republic </Brand>


      <ProductRange> Men's apparel </PRoductRange>


     <PurchaseRecord> Null </PurchaseRecord>


 ...


     </ConsumerHistory>


 ...


   <AffiliatePayment>


     <Paymentl>


       <Amount> 0.8 </Amount>


       <Entity> SIS <Entity>


     </Paymentl>


     <Payment2>


       <Amount> 0.8 </Amount>


       ...<Entity> Google <Entity>


     </Payment2>


     <Payment3>


       <Amount> 0.8 </Amount>


       ...<Entity> Consumer <Entity>


     </Payment3>


     ...


   </AffiliatePayment>


   ...


</Transaction>









In the above XML example, the purchase includes a product from the merchant “Banana Republic,” and the merchant may specify rules for the affiliate payment eligibility, e.g., a time frame of 280 days prior to the purchase, during which the consumer did not purchase any product of the same “category,” e.g., Banana Republic men's apparel. For another example, the merchant may expand the purchase range to the entire brand name, e.g., requiring a consumer with no prior purchase of any Banana Republic products within the past 280 days, etc. The merchant may further specify that purchases made via a list of participating sites are eligible to be considered for affiliate payment, e.g., Amazon.com, etc. The merchant may further specify the affiliate payment rule, e.g., splitting 2% of the purchase price to the SIS, Google and the consumer, etc.


In some embodiments, the SIS server 520 may store the transaction record by issuing PHP/SQL commands to store the data to the database table. An example transaction record store command 523, substantially in the form of PHP/SQL commands, is provided below:














<?PHP


Header (‘Content-Type: text/plain’);


mysql_connect (“254.92.185.103”,$DBserver,$password); // access database server


mysql_select (“SIS_DB.SQL”); // select database to append mysql query (“INSERT


INTO TransactionTable (transaction_ID, transaction_date, requested_time,


receipt_time, user_ID, user_name, user_password, account no, total_amount,


transfer_log, payee_ID, payor_ID, transfer_amount ...)


VALUES ($transaction_ID$, $transaction_date$, $requested_time$, $receipt_time$,


$user_ID$, $user_name$, $user_password$, $account_no$, $total_amount$, $transfer_log$,


$payee_ID$,


$payor_ID$, $transfer_amount$ ...) ; //


add data to table in database ; // add data to table in database


mysql_close (“SIS _DB.SQL”); // close connection to database


?>









With reference to FIG. 5B, a consumer data aggregator 570 may collect various consumer data from various sources.


For example, in one implementation, the consumer operating a mobile wallet 503 may obtain store injection data 555a from the merchant store, and forward such injection data 555b indicating consumer activities in a physical merchant store to the consumer data aggregator 570. In one implementation, the store injection data 555a-b may comprise the consumer's GPS location information, duration of the stay, price-checking using barcode/QR code scanning via the mobile wallet, and/or the like. For example, the mobile wallet 503 may provide a store injection data message 555b to the SIS server as a HTTP(S) POST message including XML-formatted data. An example listing of a store injection data message, substantially in the form of a HTTP(S) POST message including XML-formatted data, is provided below:














POST /store_event.php HTTP/1.1


Host: www.merchant.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<store_event>


   <event_ID> BR_1122 </event_ID>


   <timestamp>2015-12-18 17:15:56 </timestamp>


   <event_type> check-in </event_type>


   <GPS> 38°53′22.0000″ N 77°2′6.000″ W </GPS>


   <store_location>


     <address_linel> 133 palm street </address_linel>


     <address_line2> San Isla, CA </address_line>


     <zipcode> 00000 </zipcode>


     ...


   </store_location>


   <merchant>


     <merchant_ID> BR001 </merchant_ID>


     <merchant_name> Banana republic </merchant_name>


     <merchant_category> apparel </merchant_category>


     ...


   </merchant>


   <user>


     <wallet_ID> JS-001 </user_ID>


     <user_name> John Smith </user_name>


     <user_number> 000-000-0001 </user_number>


     ...


   </user>


   <duration> 00:56:34 </duration>


   ...


</store_event>









In the above example, the store injection data message 555b includes the GPS information of a physical “Banana Republic” store and indicates that the consumer “John Smith” has visited and stayed in the store for 56 minutes. In another example, other store event types may reflect in-store ad exposure to the consumer, such as price checking, etc. Another example listing of an store injection data message 525b, substantially in the form of a HTTP(S) POST message including XML-formatted data, is provided below:














POST /store_event.php HTTP/1.1


Host: www.mobile-wallet.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<store_event>


   <event_ID> BR 1122 </event_ID>


   <timestamp>2015-12-18 17:15:56 </timestamp>


   <event_type> price check </event_type>


   <GPS> 38°53′22.0000″N 77 °2′6.000″ W </GPS>


   ...


   <merchant>


      <merchant_ID> BR001 </merchant_ID>


      <merchant_name>Banana republic </merchant_name>


      <merchant_category> apparel </merchant_category>


     ...


   </merchant>


    <user>


     <wallet_ID> JS-001 </user_ID>


     <user_name> John Smith </user_name>


     <user_number> 000-000-0001 </user_number>


     ...


   </user>


   <product>


     <product_ID> MC0001 </ProductID>


     <product_name> men sweater spring </product_name>


     <product_description>


       <QR_code> 877fsf.jpg </QR_code>


       <color> navy </color>


       ...


     </product_description>


     <price> 99.99 </price>


     ...


   </product>


   <purchase_channel>


     <channell>


       <url> www, amazon.com </url>


       <price> 99.99 </price>


       <activity> none </activity>


     </channell>


     <channel2>


       <url> www.shop,com </url> <price>


       85.99 </price> <activity> click


       </activity>


       ...


     </channel2>


   </purchase_channel>


</store_event>









In the above example, the store injection data message 555b comprises information of consumer's price check of a product using a mobile wallet. For example, the consumer may operate his/her mobile wallet device (e.g., a smartphone, etc.) to scan a QR code of the product and generate a price comparison check, e.g., the price listings on merchant sites “amazon.com” and “shop.com.” If the user has clicked on a searched merchant site, e.g., www.shop.com. such information is also fed to the consumer data aggregator 570, which may be considered as an ad exposure event.


In another implementation, the consumer data aggregator 570 may obtain social media feeds 556 from a social media platform 560. For example, a consumer's social payment, social comments, “like” event on Facebook, and/or the like, may reflect a consumer's sentiment towards a product, or a brand name.


For example, the social media platforms 560 may provide a social media feeds message 556 to the SIS server as a HTTP(S) POST message including XML-formatted data. An example listing of a social media feeds message, substantially in the form of a HTTP(S) POST message including XML-formatted data, is provided below:

















POST /social_feed.php HTTP/1.1



Host: www.social_media.com



Content-Type: Application/XML



Content-Length: 667



<?XML version = “1.0” encoding = “UTF-8”?>



<social_feed>



   <feed_ID> FB_0001 </feed_ID>



   <timestamp>2015-12-11 17:15:56 </timestamp>



   <social_platform>



     <name> Facebook </name >



     <server> www.facebook,com </server>



     <server_ip> 000.000.00.00 </server_ip>



     <feed_type> like </feed_type>



     <object> “Buy 1 get 1 50% Banana Republic Coupon”



</object>



   ...



   </social_platform>



    <user>



     <wallet_ID> JS-001 </user_ID>



     <user_name> John Smith </user_name>



     <user_number> 000-000-0001 </user_number>



     ...



   </user>



   ...



   </social_feed>










In another implementation, the consumer data aggregator 570 may obtain updates from web crawl 558 from various website 530, e.g., consumer's blog posts, browsing activities, etc. For example, the web server 530 may provide an update message 558 to the SIS server as a HTTP(S) POST message including XML-formatted data. An example listing of a web update message 558, substantially in the form of a HTTP(S) POST message including XML-formatted data, is provided below:














POST /web-claw.php HTTP/1.1


Host: www.variousweb.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<web_claw>


   <web_ID> web_0001 </feed_ID>


   <timestamp>2015-12-11 17:15:56 </timestamp>


   <user>


     <wallet_ID> JS-001 </user_ID>


     <user_name> John Smith </user_name>


     <user_number> 000-000-0001 </user_number>


     ...


   </user>


   <source> www.amazon,com </source>


   <event_type> rating </event_type>


   <product>


     <product_ID> MC0001 </ProductID>


     <product_name> men sweater spring </product_name>


     <product_description>


       <color> navy </color>


       ...


     </product_description>


     <price> 99.99 </price>


     ...


   </product>


 ...


</web_claw>









In one implementation, the consumer data aggregator 570 may aggregate consumer ad exposure data 559, and store the aggregation results in a data store. In one implementation, the SIS server 520 may generate an ad exposure query 561 to the consumer data aggregator 570. For example, when the SIS server 520 has received a purchase indication, the SIS server 520 may query on the purchased item to determine whether the consumer has prior ad exposure for the purchased item.


For example, the SIS server 520 may issue PHP/SQL commands to query a database table for ad exposure data. An example ad exposure data query 561, substantially in the form of PHP/SQL commands, is provided below:














<?PHP


Header (‘Content-Type: text/plain’);


mysql_connect (“254.93.179.112”, $DBserver, $password); // access


database server


mysql_select_db (“SIS _DB.SQL”); // select database table to search


//create query


$query = “SELECT comment like access FROM SocialTable WHERE


product LIKE ‘%’ $Banana Republic”;


$result = mysql_query ($query); // perform the search query


mysql_close (“SIS_DB.SQL”); // close database access


?>









In some embodiments, the SIS server may receive an ad exposure data 562 query results from the consumer data aggregator 570, indicating whether there is prior ad exposure to the queries product name, or brand name. For example, the ad exposure data 562 may comprise any previously stored ad exposure record in a form similar to the received store injection data 555b, social media feeds 556, web crawl 558, and/or the like. The SIS server 520 may then proceed to correlation at 527 in FIG. 5A.



FIGS. 6A-6B provide logic flow diagrams illustrating embodiments of the SIS. Within embodiments, a consumer may submit consumer registration information 605 to register with the SIS. For example, a consumer may establish a user account with the SIS, and submit payment information (e.g., a credit card, a debit card, a checking account, PayPal account, etc.) to SIS in order to register 610. In one embodiment, upon user registration, the SIS may run a remote component (e.g., Java Applet, etc.) at the consumer's browser to track consumer's Internet browsing behaviors.


In one embodiment, a merchant, e.g., a brand name product company, etc., may register with the SIS by submitting merchant information 608. In another implementation, the merchant may submit a request to advertise to the SIS, so that the SIS may generate an advertising component for display at the consumer terminal for the merchant. In an alternative implementation, the merchant may submit information with regard to a third party advertising channel wherein the merchant's products are advertised, to the SIS 120.


In one embodiment, upon registration with SIS, a consumer may initiate Internet research for a desired product 615. For example, if the consumer wants to buy a sweater, he may initiate a search based on key term “sweater.” In one implementation, during the course of the Internet research for a sweater, the consumer may trigger an event which sends an indication to SIS indicating the consumer is looking for a “sweater.” The consumer's device may send a query to search network, e.g., Google, Yahoo, Bing, etc., or may click on certain ads. Such indication of interests may be saved as an ad cookie on the consumer device, intercepted by the use of a plug-in of the consumer's web browser, captured in log by the target of the search, (e.g., web search engine, advertising networks, merchants, etc.) those targets may subsequently make the search terms available to the SIS, and/or the ad networks; such information may be passed as a data structure through a HTTP POST message. For example, the triggered event may include, but not be limited to consumer clicking on a search advertisement of “men's sweaters”, consumer clicking on a display advertisement of “men's sweaters,” consumer interacting with an advertisement related to “men's sweaters” for an extended period, consumer visiting a merchant website featuring “men's sweaters,” consumer visiting a product review website related to “men's sweaters,” and/or the like.


In one implementation, the SIS may receive the event trigger and query for registered related merchants 620. For example, in one implementation, if the consumer clicks on an advertisement for “new collection for men's sweaters,” the SIS may receive this indication that the consumer is interested in “men's sweaters,” and may form a query in its merchant database for merchants that offer “men's sweaters.”


In one implementation, the SIS may instantiate an advertisement component (e.g., on the browser, etc.) for a queried merchant 625. For example, the SIS may determine “Banana Republic” offers “men's sweaters,” and may then display an advertisement for Banana Republic to the consumer. In one implementation, there may be more than one registered merchant that offer “men's sweaters.” In one implementation, the SIS may sort a list of advertisements of different merchants based on a variety of metrics, such as, but not limited to relevancy, the percentage of affiliated payment the merchant is willing to pay SIS, and/or the like.


In one embodiment, the consumer may view the provided advertisement and submit an indication of view the advertisement to SIS 630, e.g., by clicking on the advertisement. The SIS may store the indication 633, e.g., a time-stamp, an advertisement ID, a consumer ID, and/or the like. As such, to this point, the SIS may operate as an ad network. In one embodiment, SIS may communicate with an ad network, and otherwise shed such ad network features itself, and provide indication of transactions while performing operations as follows.


In one implementation, a consumer may subsequently make a purchase of the advertised product 635, e.g., a Banana Republic sweater for men as discussed in the above example. Within a variety of implementations, the consumer may purchase the product via a variety of commercial channels, such as in-store, via the merchant website, via a shopping website (e.g., Amazon.com, macys.com, etc.), and/or the like.


In one implementation, information used to confer an eligible product has been purchased by the consumer may be obtained from the user device (e.g., an electronic wallet on a mobile device, etc.), the merchant, an issuer and/or payment network cooperating with the SIS system. In one implementation, registered consumers may have all account transactions that occur with registered accounts serve as a trigger to determine if such purchased items are eligible for SIS rewards.


In an alternative embodiment, when the merchant has no direct relationship with SIS, a merchant may charge a consumer's payment account for the purchase, and the transaction may be processed by a payment network and/or an issuer (e.g., Visa, etc.). The SIS may be disposed with communication with the payment network/issuer, and thereby may be provided the payment indication through such networks.


Upon receiving payment from the consumer 638, the merchant may confirm purchase transaction with a payment network. For example, the SIS may receive purchase confirmation 639 from the merchant, the payment network, and/or the like. In one implementation, the merchant and the SIS may determine whether the purchase is eligible for a merchant affiliate payment 640, e.g., whether the merchant should pay SIS for advertising. In one implementation, rules for determining the eligibility may be established in a merchant-SIS agreement. In one embodiment, the SIS has aggregated different types of consumer activities, all of which may be saved at an SIS database and associated with a consumer identifier, and a timestamp at which the activity occurs. As such, the consumer activity SIS database may be used to correlate activities with obtained purchase confirmation by the same consumer, and such database may be queried on rules that establish eligibility for revenue sharing, incentive rewards, and/or the like. For example, if the SIS determines the consumer hasn't made a purchase with the merchant in the last 180 days, the merchant should pay a portion of the transaction amount to the SIS. For another example, SIS and the merchant may agree that if the purchase takes place within a short period of time (e.g., within 34 hours, etc.) subsequent to the time stamped indication of consumer viewing an advertisement at 633, SIS is eligible for affiliate payment from merchant. For example, the SIS may generate a query into the correlation rule table to determine whether the purchase is correlated with the ad exposure:














<?PHP


Header (‘Content-Type: text/plain’);


mysql_connect (“254.93.179.112”, $DBserver, $password); // access


database server


mysql_select_db (“SIS_DB.SQL”); // select database table to search


// create query


$query = “SELECT correlation id, correlation name, rule sponsor,


ad fee sponsor, ad product_ID, correlation_status FROM


CorrelationTable WHERE purchase interval LIKE ‘%’


$purchase_interval”;


$result = mysql_query ($query); // perform the search query


mysql all_close (“SIS_DB.SQL”); // close database access


?>









In another example, if the consumer has repeatedly clicked on the advertisement by the same merchant (e.g., Banana Republic) within a period of time (e.g., a week), the correlation rule may acknowledge a subsequent purchase as a result of ad exposure. For example, the SIS may generate a query into the correlation rule table:














<?PHP


Header (‘Content-Type: text/plain’);


mysql_connect (“254.93.179.112”, $DBserver, $password); // access


database server mysql_select_db (“SIS_DB.SQL”);


// select database table to search //create query $query = “SELECT


correlation_ID, correlation_name, rule_sponsor, ad_fee_sponsor,


ad_product_ID, correlation_status FROM CorrelationTable WHERE


visits_per_week LIKE ‘%’


$visits_per_week”;


$result = mysql_query ($query); // perform the search query


mysql_close (“SIS_DB.SQL”); // close database access


?>









For another example, eligibility of the purchased item may be determined 645 upon whether the consumer has “viewed” the advertisement by retrieving an indication 633, e.g., whether the user has clicked on, followed a link by a related advertisement of the merchant's product. As such, the SIS would work regardless where the purchase takes place, e.g., online purchase, in-store purchase, and/or the like.


In one embodiment, if eligible, the merchant may through pay a portion (e.g., 5%) of purchase transaction to SIS as an affiliate payment 650. In one implementation, this payment may be variable based on the consumer's previous activity—for example, if they had made a purchase (or multiple purchases) at the same merchant in the last 180 days, then the payment could be lower. In one implementation, SIS may split the payment. For example, a portion of the payment (e.g., 3%) may be made to the site/channel where the most relevant driving event occurred, or splitting the payment amongst channels. For another example, a portion of the payment (e.g., 1%) may be made to the consumer as an incentive for participation 655. In one implementation, SIS may provide rewards as incentive to consumers in a variety of forms, such as, but not limited to cash backs, coupons for next purchase, and/or the like.


In one implementation, the SIS rewards may be provided to the consumer in various ways. For example, a consumer may obtain cash back via his electronic wallet. For another example, a consumer may receive a check in the mail after the purchase, and/or the like. For another example, a consumer may obtain store points credited to a brand membership card, and/or the like. Further implementations of determining consumer purchasing heuristics are discussed in a shopping trail revenue sharing component.



FIG. 6B provides a logic flow diagram illustrating store injection data aggregation within embodiments of the SIS. Within implementations, a consumer may start the process by walking into a merchant store 651. In one implementation, the consumer may operate a mobile wallet and submit a check-in message to the consumer data aggregator via the wallet check-in component 652a. In another implementation, the merchant may receive store injection request 652b, and provide merchant store information to aggregator via the mobile wallet.


Upon receiving a check message 653, the data aggregator may store the consumer location indication 654 from the check-in message and monitor further store injection data. If there is a store injection event message 655 received from the mobile wallet, the aggregator may extract product/brand information 656 from the message, e.g., the consumer may operate the mobile wallet to scan a barcode of a product, price check and comparison, checkout at a merchant POS, etc. In one implementation, the aggregator may determine whether there is an external URL 658a in the store injection message, e.g., the consumer may snap the barcode/QR code to conduct Internet search on the product, and/or conduct a price match which may direct the consumer to another URL. In one implementation, if there is no external link included in the store injection event message 655 (e.g., the message is not a price match/search event, etc.), the aggregator may generate and store the shop trail record 661 including the current merchant store, e.g., the store that consumer has walked in at 651.


In another implementation, if the store injection event message includes an external link and the consumer clicks on the external link 658a, e.g., from the price match results, the aggregator may proceed to determine a type of the link, e.g., whether it is a store injection to a new store 658b. For example, if the external URL 658a includes an advertisement of the product on “Newsdaily.com,” then the URL is not a store injection 658b, and the aggregator may store the external channel (e.g., “Newsdaily.com”) 659 and proceed to 635.


In another implementation, if the external link is a store injection 658b, e.g., the consumer may be directed to another online store (e.g., Amazon.com, buy.com, etc.) 658b, the aggregator may include the new store into the shop trail 660, and generate and store the shop trail record 661. In one implementation, the currently injected store merchant (e.g., Amazon.com, buy.com, etc.) may receive a store check-in message e.g., at 652b. Further implementations of the store injection shop trail are discussed in FIG. 6E.


The aggregator may store the external channel 659 if it is visited by the consumer and generate/store the injection record 661.



FIG. 7A provides a logic flow diagram illustrating predictive advertising within embodiments of the SIS. Within implementation, the SIS may may collect various consumer related activity data 704, e.g., store injection data 705a, browser cookie monitoring data 705b, “mesh” aggregated data 705c, and any additional tracking data 705d (e.g., consumer filled out questionnaire, etc.). The SIS may generate consumer purchasing heuristics based on merchant rules 706. For example, a merchant may specify a rule that if a consumer has purchased a digital camera, advertisement of a related product, e.g., a camera bag, etc., shall be provided to the consumer. In another example, SIS may establish rules and heuristics that if a consumer regularly purchases a product, advertisement of similar products shall be provided. In another example, SIS may perform data mining on consumer purchasing pattern on a group of consumers and determine that consumers who bought a digital camera may have the propensity to purchase a camera bag, and may then correlate the purchase of a digital camera with a camera bag. For example, this may be achieved by having an SIS table in the SIS database having a field for “complementary_product_ID” which may be supplied by merchants, manufacturers, advertisers, heuristics generated by the SIS, and/or the like. As such, when a product has been purchased which is not likely to be purchased again for a short period of time (e.g., a plasma TV, etc.), the SIS may purge the complementary product identifier in the table and use such query results to provide additional ads to the consumer.


For example, in one implementation, when the SIS receives a purchase confirmation that a consumer has purchased a plasma TV, the SIS may perform the following query for ads featuring complementary products:














<?PHP


Header (‘Content-Type: text/plain’);


mysql_connect (“254.93.179.112”, $DBserver, $password); // access


database server mysql_select_db (“SIS_DB.SQL”);


// select database table to search //create query $query = “SELECT


ad_ID, ad_name, ad_product_ID, ad_data, ad_merchant_ID,


ad_template FROM AdsTable WHERE ad_complementary_product_ID


LIKE ‘%’ “PlasmaTV001”;


$result = mysql_query ($query); // perform the search query


mysql_close (“SIS_DB.SQL”); // close database access


?>









In the above example, the SIS may query for any complementary products which are labeled as complementary to the purchased plasma TV. For example, the complementary products may include video gaming gadgets, a TV stand, and/or the like.


In one implementation, when the SIS receives a trigger event 710, e.g., the consumer has made a purchase, etc., the SIS may determine related advertisement based on the generated heuristics 713 at step 706. The SIS may receive a batch of triggers (e.g., transaction records, etc.), and may review and analyze each record 714 until there are no more triggers. In one implementation, for example, if the trigger event indicates a purchase of relatively long-lasting goods, e.g., a plasma TV, a mattress, etc., the SIS may determine not to provide advertisements of similar products to the consumer within a period of time (e.g., 6 months, etc.), as consumer purchasing pattern may reflect that it is rare a consumer may consecutively purchase a plasma TV within 6 months.


In one implementation, upon receiving an advertisement (e.g., via an online channel, mobile wallet, social media, etc.), the consumer may interact with the ads 718, e.g., click-through, etc. Such activities may be captured by the aggregator for analysis.



FIGS. 7B-7C provide a logic flow illustrating correlating consumer trigger activities and purchases in one embodiment of the SIS. In one implementation, upon SIS receiving an indication that a registered consumer has purchased products from a registered merchant, the SIS may retrieve consumer SIS activity records 754, e.g., stored at 733, to determine whether the consumer has viewed a related advertisement. In one implementation, the SIS may form a query based on the purchased product category, brand name, merchant_name, and/or the like, to search for related advertisement 755.


In one implementation, the SIS and/or the merchant may establish eligibility rule of advertisement. For example, the SIS may require the purchased product and the advertisement must be within the same category, e.g., a consumer who has interacted with an advertisement on “Banana Republic collection on women's dresses” but has bought a men's sweater is not eligible. For another example, the SIS and/or the merchant may have a more relaxed rule, e.g., as long as the consumer has viewed an advertisement with the brand, e.g., a consumer who viewed an ad on “Banana Republic collection on women's dresses” may likely view the men's collection as well.


If there is an Internet activity record 757 based on the eligibility rule, the SIS may determine whether the ad has been “viewed” by the consumer 753, as the consumer may close the ad without viewing it. For example, the SIS may determine whether the consumer has clicked on the presented ad 755. If not, the SIS may determine whether the consumer has stayed on the ad 760 for a sufficient period of time, e.g., scrolling down the ad to view product listings. If the SIS determines the consumer has “viewed” the ad, the SIS may go on to determine whether the consumer viewing correlates to his subsequent purchase 765.


In one implementation, if the correlation is established 766, the SIS may move on to determine an affiliate payment, e.g., based on consumer loyalty type 770. If not, no ad revenue may be provided to either the ad channel or the consumer.


In one embodiment, the SIS may retrieve the consumer's purchasing history to determine whether the consumer is a loyal consumer to the merchant, or a new consumer 770. For example, for non-frequent buyers, the merchant may issue affiliate SIS payment if the consumer has not bought any brand product within the past 180 days, as a rule for the new buyer 773. For another example, for loyal consumers, even if the consumer's purchasing history shows the consumer made purchases with the merchant within the 180 days, the SIS may apply another rule for affiliate payment. For example, the merchant may provide 6% of the proceeds to SIS with a new buyer's purchase, 4% of the proceeds to SIS for loyal consumers' purchases. In a further implementation, the merchant may not provide affiliate payment to SIS for loyal purchases.


Continuing on with FIG. 7C, if the query at 755 returned injection data 775 (otherwise, SIS may direct the data record for staff review 776 to determine what kind of ad exposure type it is), the SIS may extract injection data content 777 from the injection message. For example, the SIS may determine whether the injection data message comprises any external link 778. If not, the SIS may extract check-in store name 783 and provide the store information to correlation module 784 for correlation analysis, e.g., whether the consumer's store check-in event may be correlated with a subsequent purchase. Additional correlation rules may be applied to store injection data. For example, if the injection data comprises any in-store check-in, or scans (e.g., price check, product location inquiry, etc.), the SIS may proceed to determine whether such activities are to be correlated with the purchase based on merchant specified rules (e.g., the merchant may specify a price check at a retail store may not make the retail store eligible for ad revenue sharing, but consecutive price checks at related product at the same retail store may be eligible, etc.).


In another implementation, if the injection data comprises an external link 778, e.g., price matching information which directs to another online store, an advertisement featuring the product, etc., the SIS may determine whether the consumer clicks or views the external link 780, e.g., an amazon.com link, etc. Similar to the procedure to analyze Internet activities, the SIS may determine whether there is a click-through, or whether the consumer makes a purchase transaction 780 via the link (e.g., Amazon.com, etc.), stays on the external link to view 781, and/or the like. If a consumer has clicked and stayed on the new link 781 (e.g., the consumer has viewed an ad link, or has injected an online store), the SIS may include the clicked store/channel information 782 to provide to the correlation module 784.


For example, an injection data message may comprise information that a consumer walked in a Banana Republic retail store and operate his/her mobile wallet to conduct a price match on a sweater, the consumer clicked on an Amazon link as returned by the price match. If the consumer has stayed on the Amazon link for a period of time (e.g., 2 minutes, etc.), the consumer may be considered as having injected the Amazon store, and Amazon may be included into the shop trail as the consumer's ad exposure. If a purchase of the sweater is made, the SIS may analyze whether Amazon is eligible for an ad fee reward based on correlation.


Various rules may be established for correlation based on injection data. For example, a merchant may establish rules that if the user has clicked on a price match link of a shopping site but does not purchase the product from the same shopping site, the shopping site may not be considered as an eligible channel for ad revenue sharing. In another implementation, if the data comprises a shop trail injection event, e.g., the consumer has checked in another store (e.g., by clicking on an Amazon.com link, etc.), the SIS may determine whether the merchant (e.g., Amazon.com) has been included in the shop trail 783.



FIGS. 8A-8B provide example screen shots illustrating embodiments of the SIS. In FIG. 8A, a consumer may initiate a trigger, e.g., a Google search for “men's sweaters.” The SIS applet 825 running on the browser application may send an indication to the SIS server. The SIS may then send an SIS advertisement 810 within the browser of the consumer, e.g., with an SIS icon 825, showing a “Banana Republic” advertisement 810 with a link to the merchant website 815. If the user clicks on the link 815, the SIS component 825 may send an indication recording a “user click” to the SIS server.



FIG. 8B provides an alternative embodiment of providing SIS advertisement based on consumer opt-in activities within embodiments of the SIS. In one implementation, when a consumer initiates the trigger by searching for “men's sweater” on the search engine, the SIS component 825 may provide an advertisement via a floating window 850. The SIS component 825 may then monitor the consumer's interaction with the advertisement. For example, the consumer may immediately close the floating winder 850. For another example, the consumer may stay on the floating window and scroll the page to view the listed products 855, and the SIS component 825 may record the time length the consumer stays on the window. For another example, the consumer may click on the picture to be redirected to the merchant site for more product details 860. The SIS may record these consumer activities and evaluate correlation with the consumer's subsequent purchase.


With reference to FIG. 8C, in one implementation, when a consumer clicks on a displayed product to view details at 860 in FIG. 8B, the consumer may view a page of product details 830. The consumer may then elect to click “back to browse” more products 832, or click “to checkout” the current item 831.


With reference to FIG. 8D, after the consumer has purchased a sweater from Banana Republic men's collection, SIS may label the purchase and generate ads of complementary products to the consumer. For example, as shown in FIG. 8D, when the consumer enters the same search term “men's sweater,” as SIS recognizes the consumer has purchased men's sweaters from the merchant brand “Banana Republic,” the SIS may provide ads of complementary products 865, e.g., men's accessories of the same brand, etc.



FIG. 8E provide a schematic mobile application screen shots within embodiments of the SIS. In one implementation, the consumer may operate a smart phone (e.g., an Apple iPhone, etc.) to browse a SIS advertisement 810. In one implementation, the consumer may make a purchase of the advertised product via his electronic wallet 885. In one implementation, after the purchase, the consumer may view a reward credited to his wallet account 885, e.g., “$0.75” 890 paid by the SIS, as 1% rebate amount of previous purchase of an SIS advertised product at “$74.99” 891.



FIG. 9 shows a block diagram illustrating example embodiments of the SIS. In some implementations, a user 905 may want something that will keep track of expiring products, suggest products to buy the next time the user visits the grocery store, and/or the like. In some implementations, SIS may work with the user's electronic wallet 910 in order to generate a predictive shopping list 930 with items that are determined to be expiring 920, items frequently purchased based on receipt and/or other purchase data 915, based on smart devices 925 that can indicate a need to purchase more supplies for the device, via feedback 935 from people in the user's social network (or from the user directly), and/or the like.



FIG. 10 shows a data flow diagram illustrating collecting information for predictive shopping lists in some embodiments of the SIS. In some implementations, a user 1005 may provide to an electronic device 1010 item purchase selections 1030. In some implementations, the electronic device may be a mobile device such as a mobile phone, laptop, and/or the like, and may connect to an electronic wallet. In some implementations, the item purchase history may include transaction data (e.g. receipts, scanning products for purchase, information for a pending transaction, and/or the like) and/or the like. In some implementations, the electronic device may send a procurement_message 1040 to SIS, which may be an XML-encoded message that takes a form similar to the following:














POST /procurement_message.php HTTP/1.1


Host: www.SISproccess.com


Content-Type: Application/XML


Content-Length: 788


<?XML version = “1.0” encoding = “UTF-8”?>


<procurement_message>


<timestamp>2016-01-01 12:30:00</timestamp>


  <user_params>


    <user_ID> 10123456789 </user_ID>


      <user_password>********</user_password>


      <wallet_ID>A2C4E6G8I</wallet_ID>


    </user_params>


    <procurement_params>


      <purchase>


         <product>


            <id>098765432</id>


            <name>Sunshine &#174; Cheez-It &#174; Baked Snack


Crackers</name>


            <weight>170</weight>


            <product_code>2410070582</product_code>


            <lot_ID>9274E8AC</lot_ID>


            <merchant_ID>1155448899</merchant_ID>


            <price>3.99</price>


            <aisle>5</aisle>


            <shelf>2</shelf>


            <expiration_date>2017-02-01 12:30:00</expiration_date>


 12:30:00</expiration_date>


         ...


         </product>


      </purchase>


      <scan>


         <product>


               <ID>289786479</ID>


               <name>Twinings &#174; Chai Ultra SpiceTea</name>


               <weight>40</weight>


               <product_code>7017726772</product_code>


               <lot_ID>90 8D0F98 9A</lot_ID>


               <merchant_ID>9483738921</merchant_ID>


               <price>4.99</price>


               <aisle>7</aisle>


               <shelf>3</shelf>


               <expiration_date></expiration_date>


               <GPS>40.7589905, −73.9790277</GPS>


               <scan>


                <qr_object_params>


                <qr_image>


                <name> exp_QR </name>


                <format> JPEG </format>


                <compression> JPEG compression</compression>


                <size> 123456 bytes </size>


                <x-Resolution> 72.0 </x-Resolution>


                <y-Resolution> 72.0 </y-Resolution>


                <date_time> 2014:8:11 16:45:32</date_time>


                ...


                <content> ÿØÿá JFIF H H


   ÿâ ICC_PROFILE ¤appl mntrRGB XYZ Ü  $ acspAPPL öÖÓ-appl


   desc  P  bdscm  ‘   Scprt ---------------------@ $wtpt


   ------------------------------d  rXYZ ---------------------------------------------x   gXYZ


   ------------------------------(E  bXYZ --------------------------------------------- =    rTC


   ------------------------------‘ aarg  À   vcgt ...


                </ content>


                ...


                </qr image>


                <QR content>“Expiration Date,


   2020:8:11”</QR content>


                </qr_object_params>


               </scan>


               ...


            </product>


      </scan>


      ...


      <smart device>


         <product>


            <id></id>


            <name>Gasoline/name>


            <weight></weight>


            <product_code></product_code>


            <lot_IDX/lot_ID>


            <merchant_ID></merchant_ID>


            <price></price>


            <aisle></aisle>


            <shelf></shelf>


            <note>8 gallons</note>


            <expiration date>2016-01-05


  12:30:00</expiration date>


            ...


         </product>


      </smart devices>


       <expiration>


         <product>


            <id></id>


            <name>Silk &#174; Organic Original Soymilk</name>


            <weight>4, quart</weight>


            <product_code>7854675684356348</product_code>


            <lot ID>982183242</lot ID>


            <merchant_ID>9483738921</merchant_ID>


            <price>3.99</price>


            <aisle>DAIRY</aisle>


            <shelf>2</shelf>


            <note> </note>


            <expiration_date>2016-01-01


  12:30:00</expiration date>


            ...


         </product>


      </expiration>


    </procurement params>


  </procurement_message>









In some implementations, SIS may store the product choice information 1080, via querying 1050 a database 1055 and storing the user's product history information in the user's product history record 1055c, which is tied to the user's record in 1055a. In some implementations, may query the database using PHP code similar to the following:














<?php









...



foreach ($product_list as $product){



$new_product = $product;



$product result = mysql query (“INSERT INTO







product_history(ID, name, weight, product_code, lot_ID,


merchant_ID, price, aisle, shelf, note, user_ID, exp_date, scan,








scan_GPS)
VALUES   (mysql real escape string ($new product.ID),









mysql real escape string ($new product.name),



mysql_real_escape_string ($new_product.weight),



mysql_real_escape_string



($new_product.product_code),



mysql real escape string ($new product.lot ID),



mysql real escape string ($new product.merchant_ID),



mysql real escape string ($new product.price),



mysql real escape string ($new product.aisle),



mysql real escape string ($new product.shelf),



mysql_real_escape_string ($new_product.note),



mysql real escape string($new product.user_ID),



mysql real escape string($new product.exp date),



mysql real escape string($new product.scan),



mysql_real_escape_string($new_product.scan_GPS),)



 );



 }







  ?>









In some implementations, after SIS has received a query result 1060 that indicates that the insert was successfully performed, SIS may use the user's product history to compile a predictive shopping list 1065. In some implementations SIS may also collect data from smart devices 1020 which have capabilities to both check the status of their own supplies 1035 and send messages to SIS 1045 indicating a need to refill a particular supply. In some implementations, the supplies request 1045 may be an XML-encoded message and may take a form similar to the following:

















POST /supplies message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<supplies_message>



<timestamp>2016-01-01 12:30:00</timestamp>



  <device_params>



    <user_ID>123456789</user_ID>



    <device_ID>********</device_ID>



    <wallet_ID>A2C4E6G8I</wallet_ID>



  </device_params>



  <supplies_params>



    <product_list>



      <product>



        <id></id>



        <name>Gasoline is Low/name>



        <weight></weight>



        <product_code></product_code>



        <lot_ID></lot_ID>



        <merchant_ID></merchant_ID>



        <price></price>



        <aisle></aisle>



        <shelf></shelf>



        <note>8 gallons</note>



        <expiration_date>2016-01-05



12:30:00</expiration_date>



        ...



      </product>



      ...



    </product_list>



  </supplies_params>



</supplies_message>










As an example, SIS may collect information from a smart car that is capable of determining how much gasoline it has in the tank, and is capable of sending a message to SIS indicating that it is currently running low. In some implementations, other smart devices may include refrigerators, and/or the like. SIS may also add such supplies to the user's predictive shopping list as they are provided to SIS. In some implementations, SIS may store the generated predictive shopping list in the SIS database via a shopping list query 1070 to the shopping list table 1055b of the SIS database. In some implementations, the PHP-encoded shopping list query may take a form similar to the following:

















  <?php



      ...



      $user_ID = “123456789”;



       $name = “Example Predictive Shopping List”;



       foreach ($product_list as $product){



        $new_product = $new_product .”. $product.ID;



       }



      $product result = mysql_query (“INSERT INTO



shopping_lists (user_ID, name, products)   VALUES



      (mysql_real_escape_string ($user_ID),



       mysql_real_escape_string ($name),



       mysql_real_escape_string($new_product) ) );



?>










Once SIS receives a predictive shopping list result 1075 for the query indicating that the insert was successfully performed, SIS may send the user a copy of their predictive shopping list 1085, which the user may keep in the user's wallet-enabled device, and which the user may also forward 1090 to social networking sites 1025 (e.g. Facebook, Twitter, and/or the like) in order to receive feedback on the shopping list from friends, family, and/or the like. In some implementations, an XML-encoded predictive shopping list 1085 may take a form similar to the following:














<product_list>


      <user>


        <user_ID>123456789</user_ID>


        <wallet_ID>A2C4E6G8I</wallet_ID>


     </user>


     <list_params>


        <name> Example Predictive Shopping List </name>


        <date_created>2016-01-01 12:30:00</date_created>


        </list params>


     <replacement products>


  <expiring>


           <product>


              <id></id>


              <name>Silk &#174; Organic Original


Soymilk</name>


              <weight>4, quart</weight>


     <product_code>7854675684356348</product_code>


              <lot_ID>982183242</lot_ID>


              <merchant_ID>9483738921</merchant_ID>


              <price>3.99</price>


              <aisle>DAIRY</aisle>


              <shelf>2</shelf>


              <note> </note>


              <expiration_date>2016-01-01 12:30:00</expiration_date>


              <confidence_level>K/confidence_level>


              <rating>4.3</rating>


              <replenish_cycle>2, week</replenish_cycle>


              <alt_products>5874654824885, 4245654356436,


2425458454, ...</alt_products>


           ...


           </product>


        </expiring>


        <smart_device>


           <product>


              <id></id>


              <name>Gasoline is Low/name>


              <weight></weight>


              <product_code></product_code>


              <lot_ID>/lot_ID>


              <merchant_ID</merchant_ID>


              <price></price>


              <aisle></aisle>


              <shelf></shelf>


              <note>8 gallons</note>


              <expiration_date>2016-01-05


12:30:00</expiration date>


              <confidence_level>K/confidence_level>


              <rating>3.3</rating>


              <replenish_cycle>l,


  week</replenish_cycle>


              <alt_products></alt_products>


              ...


           </product>


        </smart_device>


        <predicted_replace>


           <product>


              <id>098765432</id>


              <name>Sunshine &#174; Cheez-It &#174; Baked


  Snack Crackers</name>


              <weight>170</weight>


              <product_code>2410070582</product_code>


              <lot_ID>9274E8AC</lot_ID>


              <merchant_ID>1155448899</merchant_ID>


              <price>3.99</price>


              <aisle>5</aisle>


              <shelf>2</shelf>


              <expiration_date>2017-02-01 12:30:00</expiration_date>


              <confidence_level>0.7</confidence_level>


              <rating>4.4</rating>


              <replenish_cycle>2,


  week</replenish_cycle>


              <alt_products>874684689468,


  6347689469846</alt_products>


              ...


           </product>


        <predicted_replace>


     </replacement_products>


     <suggested_products>


        <personal>


           <product>


              <ID>289786479</ID>


              <name>Twinings &#174; Chai Ultra Spice


  Tea</name>


              <weight>40, g</weight>


              <product_code>7017726772</product_code>


              <lot_ID>908D0F989A</lot_ID>


              <merchant_ID>9483738921/merchant_ID>


              <price>4.99</price>


              <aisle>7</aisle>


              <shelf>3</shelf>


              <expiration_date></expiration_date>


              <confidence_level>0.8</confidence_level>


              <rating>4.7</rating>


              <replenish_cycle>4,


  week</replenish-cycle>


              <alt_products>587456465874,


  97298473974</alt_products>


           ...


           </product>


        </personal>


        <social>


           <product>


              <ID>38749326578</ID>


              <name>Lipton &#174; Black Tea</name>


              <weight>40, g</weight>


              <product_code>83487456874</product_code>


              <lot_ID>232D2F436A</lot_ID>


     <merchant_ID>54758487487428</merchant_ID>


              <price>3.99</price>


              <aisle>7</aisle>


              <shelf>3</shelf>


              <expiration-date></expiration-date>


     <confidence_level>0.76</confidence_level>


              <rating>3.7</rating>


              <replenish_cycle>4,


  week</replenish_cycle>


              <alt_products>289786479,


  97298473974</alt products>


           ...


           </product>


        </social>


     </suggested_products>


  </product_list>










FIG. 11 shows a data flow diagram illustrating collecting receipt information for predictive shopping lists in some embodiments of the ______. In some implementations, a user 1105 may provide receipts 1110 (physical, electronic, and/or the like) to their wallet-enabled electronic device 1115. In some implementations the electronic device may send the receipt data to SIS 1130 via a receipt data message 1120. In some implementations, the electronic device may also OCR product information (e.g., the product name, product expiration date, and/or the like) from the user receipts, and may send said information to SIS within the receipt data message. In some implementations, the XML-encoded receipt data message may take a form similar to the following:














POST /receipts_message.php HTTP/1.1


Host: www.SISproccess.com


Content-Type: Application/XML


Content-Length: 788


<?XML version = “1.0” encoding = “UTF-8”?>


<receipts_message>


<timestamp>2016-01-01 12:30:00</timestamp>


   <user_params>


      <user_ID>123456789</user_ID>


      <user_password>********</user_password>


      <wallet_ID>A2C4E6G8I</wallet_ID>


   </user_params>


   <receipts_params>


      <receipts_list>


         <receipt>


            <date created>2012-01-01


12:30:00</date_created>


            <merchant_ID>82719487194</merchant_ID>


            <transaction total>24.50</transaction_total>


            <tax>1.50</tax>


            <products>


               <product>


                  <ID289786479</ID>


                  <name>Twinings &#174; Chai Ultra


Spice Tea</name>


                   <weight>40, g</weight>


<product code>7017726772</product_code>


                   <lot_ID>908D0F989A</lot_ID>


<merchant_ID>9483738921</merchant_ID>


                   <price>4.99</price>


                   <aisle>7</aisle>


                   <shelf>3</shelf>


                   <expiration_date></expiration_date>


                   ...


               </product>


               <product>


                   <id>098765432</id>


                   <name>Sunshine &#174; Cheez-It &#174;


Baked Snack Crackers</name>


                   <weight>170</weight>


<product_code>2410070582</product_code>


                   <lot_ID>92 74E8AC</lot_ID>


<merchant_ID>1155448899</merchant_ID>


                   <price>3.99</price>


                   <aisle>5</aisle>


                   <shelf>2</shelf>


                   <expiration_date>2017-02-01


12:30:00</expiration_date>


                   ...


               </product>


            </products>


         </receipt>


         ...


         <receipt>


            <date_created>2012-01-01


12:30:00</date_created>


            <merchant_ID>82719487194</merchant_ID>


            <products>


               ...


            </products>


         </receipt>


      </receipt_list>


   </receipts_params>


</receipt_message>









In some implementations, the SIS may store the receipt data 1135 via generating a new receipts query 1140 to the SIS database 1145, which may create a new receipts record in the receipts table 1145c of the database. In some implementations, the PHP-encoded receipts query 1140 to the database may take a form similar to the following:

















<?php



     ...



     $user_ID = “123456789”;



     $merchant_ID = “8486588468498”;



     $date = “2012-01-01 12:30:00”;



     $trans_total = 24.50;



     $tax = 1.50;



     For each ($product_list as $product){



        $new product = $new product . “ ” . $product.ID;



     }



     $product_result = mysql query(“INSERT INTO receipts



(user_ID, date, merchant_ID, trans total, tax, products) VALUES



     (mysql_real_escape_string ($user_ID),



     mysql_real_escape_string ($date),



     mysql_real_escape_string ($merchant_ID),



     mysql_real_escape_string ($trans_total),



mysql_real_escape_string ($tax),



     mysql_real_escape_string ($new_product)));



?>










In some implementations, after receiving a new receipts result 1150 from the query, SIS may compile a predictive shopping list based on data from the receipts, and/or like information 1155. SIS may then send a copy of the predictive shopping list 1160 to the user's wallet, as well as generate a link so that the user may send a copy 1165 of the predictive shopping list to the user's social networks 1170 (e.g. Facebook, Twitter, and/or the like).



FIGS. 12a-c show logic flow diagrams illustrating parsing receipts and generating predictive shopping lists in some embodiments of the SIS. In some implementations, the user may scan 1201 receipts into his/her electronic device, and/or obtain past receipts via other means such as is described herein. In some implementations, the user may then send these receipts to SIS 1202, which may receive the receipts 1203 and may then store an original copy of the receipts in a table in the SIS database 1204. SIS may then check to determine whether the receipt was scanned or was an electronic receipt 1205. If scanned, SIS may use image processing and/or a like component to convert (e.g. via Optical Character Recognition (OCR) and/or a like process) the images into textual receipts 1207. If not scanned, SIS may directly parse the electronic receipt 1206 using metadata (e.g. Tags and/or the like) within the electronic receipt, via natural language processing, and/or the like. Once the data on the receipt is readable, may then extract 1208 data from the receipt (for example, merchant_IDentification, items purchased, cost of items, expiry date of items if applicable, and/or the like), and may store this extracted information 1209 in a new receipt data structure in the SIS database. In some implementations, a copy of the receipt from which the data was extracted may also be stored along with the new data structure. In some implementations, SIS may compare the new receipt data object with others already created for the user and stored in the database 1210, and may update user receipt statistics 1211 based on these comparisons. For example, SIS may keep track of how often a type of eggs from a particular company comes up in all of the user's receipts, and/or the like. From this information, SIS may generate a predictive shopping list 1212, wherein products are placed on the predictive shopping list based on frequency of purchase, based on when they were last purchased, based on when products are about to expire, and/or the like.


In some implementations, SIS may retrieve all receipt, feedback, product, and/or like data from the SIS database relating to the user and his or her product history in order to determine a product inclusion index (e.g., a score to assign to the product to determine whether it should be added to the list). In some implementations, if receipts associated with the user are retrieved 1217, SIS may, for each receipt 1221, parse the receipts for product data 1222 in order to determine each individual product on the receipt. SIS may then, for each product 1223, process the product name, product description, product ID, and/or other information 1224 in order to determine a base product identity. In some implementations, this base product identity may be used to link similar products that may come from different merchants, may have substantially different product names, and/or the like. As an example, a base product identity of “cheese crackers” may apply both to Cheez-It® crackers, as well as to Nabisco Cheese Nips®, and/or the like. In some implementations, SIS may add a reference to the product to a user's Product Frequency hash table stored in the SIS database. In some implementations, the product identity may be used as the product's key in the hash table, and the information saved to the hash table may include the product information and/or the record ID of the product in the SIS database. In some implementations, if an object has already been hashed to the key, SIS may handle the overflow multiple ways. For example, it may compare the product to be added to the Product Frequency table to the product(s) already hashed to the same base product identity key: if the product is also from the same brand, of the same price, and/or shares like factors, SIS may not add the product to the table, and may instead update the frequency field of the product already in the table (e.g. increasing the frequency by one). If, however, the product to be added to the table is of a brand, and/or the like from all products similarly keyed to the hash table, SIS may add the product to the key bucket via adding it to the end of a link list keyed to the base product identity. If there are more products to potentially add to the Product Frequency hash table 1226, SIS may continue to compare products against the Product Frequency table. If there are no other products, SIS may check to see if there are more receipts 1227, and may process the rest of the receipts if they exist. Otherwise SIS may process the newly-updated Product Frequency table by checking each key in the table 1228 and determining the size of the key's bucket 1229. In some implementations, determining the size of the bucket may include both checking the size of the linked list at the key, and totaling the frequency of each product in the list, and/or some similar process. In some implementations, the total frequency may equate to the product's product inclusion index. In some implementations, if the size of the calculated frequency for a particular base product identity (e.g. sum of frequency of each product) is equal to or greater than a predetermined predictive product frequency 1230, the product may be added to the user's current predictive shopping list. In some implementations, the actual product placed on the list may depend on the frequency of each individual product (e.g., the product with the highest frequency may be added to the list), based on product feedback (e.g. the product with the highest ratings and/or the like may be added to the list), and/or the like. If the base product identity's calculated frequency is not equal to or greater than the predetermined threshold, SIS may check if there are more base product identities to check 1232 and may process them accordingly. If there are no more products, SIS may complete adding items to the predictive shopping list.


If SIS obtains product records 1218 from the database, SIS may process each item in a manner similar to how they would be processed if the product was extracted from a receipt (see 1223). If SIS retrieves information from a smart device, or retrieves a product that is soon to expire (e.g. has an expiration date within a specified range of close to expiring) 1219, SIS may automatically add the item to the user's predictive shopping list 1233, and may note on the shopping list the device the product came from and/or the expiration date of the item the user last bought. In some implementations, an expiring product and/or a product submitted by a smart device may always be automatically added to the predictive shopping list because such items may have their product inclusion indices always set to exceed the threshold necessary to add items to the list.


In some implementations, if SIS retrieves feedback 1220 about any products and/or predictive shopping lists attributed to the user, SIS may process the feedback to determine how to handle the products which have received feedback. For example, for each feedback entry 1244, SIS may determine the type of feedback obtained on a particular product 1245. If the feedback is textual (e.g. a comment/short answer), SIS may parse the feedback 1246 using natural language processing and/or like components in order to identify keywords 1246 that convey a tone of the feedback (e.g. positive words such as “great,” “fantastic,” negative words such as “terrible,” “don't buy,” and neutral words such as “okay,” “sufficient”). After determining the general tone of the comment by analyzing such keywords in the comment, if the tone of the comment seems positive 1248, SIS may search the user's predictive shopping list for the product 1250, and, if the product is not on the list 1251, may add the product to the predictive shopping list, and/or replace a similar product already on the shopping list. If the product comments seem mostly negative, then SIS may, if the product is on the predictive shopping list, remove the product from the predictive shopping list 1252. In some implementations, removal of the product may prompt SIS to add an alternative to the product in place of the removed item. In some implementations, if the feedback was numerical (e.g. a rating), SIS may compare 1247 the numerical value of the rating (or the aggregate of all ratings for the product) to a predetermined product quality threshold (e.g. determined by the user). If the product, based on its ratings, meets the threshold, 1249, SIS may check the user's predictive shopping list and may either add the product to the list or replace another similar product with the highly-rated product. If the product does not meet the threshold, SIS may remove the item from the list if it is currently on the list, and may also determine a suitable alternative to the removed product.



FIG. 13 shows a logic flow diagram illustrating obtaining electronic receipts in some embodiments of the SIS. In some implementations, SIS may determine 1305 whether the receipts are coming from the user's electronic wallet (e.g. a wallet connected to SIS or a wallet from another entity), or from an external source (e.g. from emails, from scanned images on a computer, and/or the like). In some implementations, if the receipts are coming from an electronic wallet, SIS may access stored receipts within the SIS 1310 by retrieving those which are linked to the user, or may access receipts in electronic wallets not connected to SIS via using the user's account credentials and/or other data to retrieve the receipts from the user's records. If the receipts are from an external source, SIS may prompt 1315 the user to provide his/her credentials and/or other information necessary to access the user's data from the external source. SIS may then generate a message 1320 to the external source using the provided user credentials in order to request receipt information. In some implementations, the message may provide a template for the external source, which it may use to determine what data to retrieve and how to format the data when it sends the data to SIS. In some implementations, the external source may receive the request 1325 and, after authenticating SIS using the user credentials, may retrieve 1330 the user's emails containing electronic receipts, scans of physical receipts, and/or the like from the external source's database. The external source may then package and send 1335 the data to SIS using the provided data template, and SIS, upon receiving the data, may store the receipts data in receipts records in the SIS database, and may link the new receipts records to the user's electronic wallet account.



FIG. 14 shows a data flow diagram illustrating collecting code information for predictive shopping lists in some embodiments of the SIS. In some implementations, a user 1405 may use an electronic wallet-enabled device 1415 to scan 1410 a checkout code in order to check out at a merchant. In some embodiments, the checkout code may be a QR code, an NFC tag, a checkout bar code, and/or the like. In some implementations, the wallet-enabled device may send a checkout message 1425 to SIS 1480. In some implementations, an XML-enabled checkout message 1425 may take a form similar to the following:














POST /checkout_message.php HTTP/1.1


Host: www.SISproccess.com


Content-Type: Application/XML


Content-Length: 788


<?XML version = “1.0” encoding = “UTF-8”?>


<checkout_message>


<timestamp>2016-01-01 12:30:00</timestamp>









<user_params>









<user_ID123456789</user_ID>



<use_password>********</user_password>



<wallet_ID>A2C4E6G8I/<wallet_ID>









</user_params> <checkout_params>









<date_performed>2012-01-01 12:30:00</date_performed>



<merchant_ID>82719487194</merchant_ID>



<transaction_total>/<transaction_total>



<pay_method>wallet</pay_method>



...



<products_list>









<product>



...



</product>



...



<product>



...



</product>









</products_list>



<checkout_QR>









<qr_object_params>



<qr image>









<name> exp_QR </name>



<format> JPEG </format>



<compression> JPEG compression </compression>



<size> 123456 bytes </size>



<x-Resolution> 72.0 </x-Resolution>



<y-Resolution> 72.0 </y-Resolution>



<date_time> 2014:8:11 16:45:32 </date_time>



...



<content> ÿØÿà JFIF H H ya ’ ICC_PROFILE








appl mntrRGB XYZ Ü $ acspAPPL öÖÓ-appl



desc P bdscm ’ {hacek over (S)}cprt            @ $wtpt










       d

rXYZ          x
gXYZ



       custom character

bXYZ          
rTRC



       

aarg  Á  vcgt ...



</content>



...









</qr_image>



<QR_content>“Products, 893479357985,







98573347932749, ...”</QR_content>









</qr_obj ect_params>









</checkout_QR>



<GPS>40.7589905, −73.9790277</GPS>









</checkout_params>







</checkout_message>









In some implementations SIS may process the information in the scanned code 1435 and may store the specified items in the user's purchase history in the user's record 1450a, and may also store records of the products in the products table 1450c of the SIS database. In some implementations, SIS may then compile a predictive shopping list and/or update the user's existing predictive shopping list 1460 using the items checked out with the checkout code. In some implementations SIS may send a copy of the predictive shopping list 1465 to the user's electronic device, and may allow the user to send another copy of the predictive shopping list 1470 to his/her social network profiles 1475 (e.g. Facebook, Twitter, and/or the like).


In some implementations, the user may also scan 1420 an expiration date code (e.g. a QR code, NFC tag, barcode, RFID tag, and/or the like), and/or may scan an expiration date from the product's package. In some implementations, the electronic device may send an expiration message 1430 to SIS containing the expiration data scanned from the code. In some implementations, the XML-enabled expiration message may take a form similar to the following:














POST /expiration_message.php HTTP/1.1


Host: www.SISproccess.com


Content-Type: Application/XML


Content-Length: 788


<?XML version = “1.0” encoding = “UTF-8”?>


<checkout_message>


<timestamp>2016-01-01 12:30:00</timestamp>









<user_params>









<user_ID123456789</user_ID>



<user_password>********</user_password>



<wallet_ID>A2C4E6G8I</wallet_ID>









</user_params>



<product_exp_params>









<exp_date>









<qr_object_params>



<qr_image>









<name> exp_QR </name>



<format> JPEG </format>



<compression> JPEG compression </compression>



<size> 123456 bytes </size>



<x-Resolution> 72.0 </x-Resolution>



<y-Resolution> 72.0 </y-Resolution>



<date_time> 2014:8:11 16:45:32 </date_time>



...



<content> ÿØÿà JFIF H H ÿâ ’ ICC_PROFILE








appl  mntrRGB  XYZ U   $  acspAPPL oOO-appl



Desc  P bdscm ’ Scprt             @ $wtpt









          d

rXYZ          x gXYZ



          custom character

bXYZ            rTRC



          

aarg Á    vcgt ...









</content>



...









</qr_image>



<QR_content>“Expiration Date,







2014:8:11”</QR_content>









</qr_obj ect_params>









</exp_date>



<product_ID>484873258932</product_ID>



<GPS>40.7589905, −73.9790277</GPS>









</product_exp_params>







</expiration_message>









In some implementations, SIS may then store 1440 the expiration date information in the products table 1450c of the SIS database via an expiration date query 1445 to the SIS database 1450. In some implementations, a PHP-encoded expiration date query 1445 may take a form similar to the following:

















<?php









...



$product = “8578388889475”;



$exp_date = “2014:8:11”;



$exp_result = mysql_query(“UPDATE products SET









exp_date=’ $exp_date’ WHERE id=’ $product’”);



?>










In some implementations, after receiving an expiration date result 1455, SIS may use the expiration date data to update the user's predictive shopping list (e.g. adding items that will expire soon to the shopping list, and/or the like).



FIG. 15 shows a logic flow diagram illustrating collecting code information for predictive shopping lists in some embodiments of the SIS. In some implementations, the user may scan a checkout code and/or the like using the user's electronic device 1505. The electronic device may decode 1510 the data from the checkout code and/or the like, and may extract 1515 product information from the decoded code data and send the decoded information to SIS. In some implementations SIS may receive 1520 a list of the products in the checkout code, and may compare 1525 the list of products to the products stored in the user's purchase history. If any product on the user's checkout list is already in the user's product history 1530, SIS may update 1535 the purchase frequency of the products already in the user's purchase history. If any product on the checkout list is not in the user's purchase history, SIS may add the products 1540 to the user's purchase history, and may update the user's purchase statistics 1545 based on the updated purchase history and purchase frequencies. SIS may then generate and/or update a predictive shopping list for the user 1550 based on the user's purchase statistics and/or the like.


In some implementations, the user may also scan an expiration date code 1555 from the product's packaging, from a shelf label, and/or the like using the user's electronic device, and the electronic device may extract 1560 from the expiration code the expiration date for the product. In some implementations, the electronic may send the expiration data to SIS, which may store 1565 the expiration data in the product record and/or in the user's purchase history data, and which may use the expiration data to update the user's predictive shopping list.



FIG. 16 shows a data flow diagram illustrating collecting snap purchase information for predictive shopping lists in some embodiments of the SIS. In some implementations, a user 1605 may perform a snap purchase 1610 using an electronic device 1615. In some implementations, the electronic device may send a snap purchase message 1620 to SIS 1625, which may be an XML-enabled message that may take a form similar to the following:














POST /snap_purchase_message.php HTTP/1.1


Host: www.SISproccess.com


Content-Type: Application/XML


Content-Length: 788


<?XML version = “1.0” encoding = “UTF-8”?>


<snap_purchase_message>


<timestamp>2016-01-01 12:30:00</timestamp>


 <user_params>


  <user_ID123456789</user_ID>


  <user_password>********</user_password>


  <wallet_ID>A2C4E6G8I</wallet_ID>


 </user_params>


 <decoded_tag_params>


  <checkout_params>


   <date>2012-01-01 12:30:00</date >


   <merchant_ID>82719487194</merchant_ID>


   <transaction_total>24.50</transaction_total>


   <tax>1.50</tax>


  </checkout_params>


  <product_params>


   <product>


    <ID>289786479</ID>


    <name>Twinings &#174; Chai Ultra Spice


Tea</name>


    <weight>40, g</weight>


    <product_code>7017726772</product_code>


    <lot_ID>90 8D0F98 9A</lot_ID>


    <merchant_ID>9483738921</merchant_ID>


    <price>4.99</price>


    <aisle>7</aisle>


    <shelf>3</shelf>


    <expiration_date></expiration_date>


    <GPS>40.7589905, −73.9790277</GPS>


     ...


   </product>


   <product>


    <id>098765432</id>


    <name>Sunshine &#174; Cheez-It &#174; Baked Snack


Crackers</name>


    <weight>170</weight>


    <product_code>2410070582</product_code>


    <lot_ID>9274E8AC</lot_ID>


    <merchant_ID>1155448899</merchant_ID>


    <price>3.99</price>


    <aisle>5</aisle>


    <shelf>2</shelf>


    <expiration_date>2017-02-01 12:30:00</expiration_date>


    <GPS>40.7589905, −73.9790277</GPS>


    ...


   </product>


  </product_params>


 </decoded_tag_params>


 <tag_params>


  <qr_object_params>


   <qr_image>


    <name> exp_QR </name>


    <format> JPEG </format>


    <compression> JPEG compression </compression>


    <size> 123456 bytes </size>


    <x-Resolution> 72.0 </x-Resolution>


    <y-Resolution> 72.0 </y-Resolution>


    <date_time> 2014:8:11 16:45:32 </date_time>


    <content> ÿØÿá JFIF H H ÿâ’ ICC_PROFILE



appl  mntrRGB  XYZ  Ü  $  acspAPPL öÖÓ-appl



Desc  P  bdscm  ’  {hacek over (S)}cprt        @ $wtpt









          d

rXYZ          x gXYZ



          custom character

Bxyz            rTRC



          

aarg  À  vcgt ...







    </content>


    ...


   </qr_image>


   </qr_object_params>


 </tag_params>


 <dig_signature>897987a87e878232322b22</dig_signature>


</snap_purchase_message>









In some implementations, SIS may store 1630 the products specified in the snap purchase within the user history, and may also extract product information from the snap purchase message, or retrieve the information from the SIS database. In some implementations, SIS may query the SIS database 1640 with a purchase history update query 1635 in order to update the user's product history in the user's record 1640a. After receiving a purchase history result 1645, SIS may compile and/or update a predictive shopping list for the user 1660 using the snap purchase information. SIS may also use the extracted product information in order to determine an expiration date for each product. For example, SIS may use the product's lot number 1650 to determine the product's date of delivery to the merchant, and therefore to estimate the expiration date of the product. SIS may also use the product ID or code 1655 to estimate the expiration date, based on information SIS may already have about the type of product (e.g. SIS may estimate the expiration date of a brand of eggs based on aggregate information about egg expiration dates, and/or the like). SIS may use the expiration date information to update the user's predictive shopping list. SIS may then send 1665 a copy of the predictive shopping list to the user, and may allow the user to send a copy and/or link of the predictive shopping list 1670 to the user's social networking profiles 1675 (e.g. Facebook, Twitter, and/or the like).



FIG. 17 shows a logic flow diagram illustrating collecting snap purchase information for predictive shopping lists in some embodiments of the SIS. In some implementations, the user may snap an item and/or a set of items for purchase 1705, and the snap purchase information may be sent to SIS. In some implementations, SIS may receive 1710 the information about the snap transaction, and may determine 1715 whether any of the products that were snapped for purchase already appear in the user's product history. If any do, SIS may update the purchase frequency of those products 1720; if a product does not appear in the user's product history, SIS may add the product to the user's purchase history 1725. In some implementations, for each product 1730 in the user's product history, SIS may also determine whether or not the product has a lot number 1735 or a product ID and/or code by retrieving the product's record from the SIS database. If the product has a lot number, SIS may retrieve the lot ID 1745 and calculate an expiration date for the product based on the product's date of delivery; if the product does not have a lot number and/or ID but does have a product ID and/or code, SIS may instead retrieve the product ID and/or code, determine the type of product based on the ID and/or code, and estimate an expiration date for the product based on the product type, and based on data SIS already has for the type of product. SIS may then generate 1750 a predictive shopping list based on the user's purchase statistics and/or any other information obtained from the snap purchase.



FIG. 18 shows a block diagram illustrating using predictive shopping lists with a smart shopping cart in some embodiments of the SIS. In some implementations, a user 1805 may want to use their electronic device 1810 connected to their electronic wallet, in conjunction with a smart cart 1815 with a code reader 1820, to automatically read product 1825 information from QR codes 1830, barcodes 1835, and/or like codes in order to keep track of products being purchased while at a merchant.



FIGS. 19a-b show data flow diagrams illustrating using predictive shopping lists with a smart shopping cart in some embodiments of the SIS. In some implementations, a merchant may have smart shopping carts 1901 fitted with a code scanner 1902, which may be able to read QR codes, barcodes, NFC tags, RFID tags, and/or the like. A smart shopping cart may broadcast 1903 a connection signal so that users may connect devices to the smart shopping cart. In some implementations, a user's wallet-enabled electronic device 1904 may be able to pick up the broadcasted signal, and may send a smart shopping cart connection request 1905 to the shopping cart. In some implementations, an exemplary XML-encoded shopping cart connection request 1905 may take a form similar to the following:

















POST /connect_message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<connect_message>



<timestamp>2016-01-01 12:30:00</timestamp>



  <user_params>



    <user_ID123456789</user_ID>



    <user_password>********</user_password>



    <wallet_ID>A2C4E6G8I</wallet_ID>



  </user_params>



  <device_params>



    <device_ID>875464684658</device_ID>



    <device_name>Example Device</device_name>



    <device_pin>1234</device_pin>



    <device_connect>bluetooth, wifi</user_connect>



  </device_params>



</connect_message>










In some implementations, the shopping cart may attempt to connect 1906 to the electronic device and, if successful, may send a smart shopping cart connection response 1907, which may contain a notification that the shopping cart is successfully able to see and communicate with the electronic device, or a notification of a failed connection attempt, allowing the user to try to connect to the shopping cart again through his/her device. In some implementations the notification may also contain information about the cart which may help facilitate a connection between the two devices, e.g. a passcode and/or the like. In some implementations, the electronic device may then connect 1908 to the smart shopping cart, and may send a copy 1909 of the user's predictive shopping list to the cart. The shopping cart may then send a best path store map request 1910 to SIS, which may contain the predictive shopping list so that SIS may determine the fastest route through the store to get to the items on the list. In some implementations, the store map request 1110 may take a form similar to the following:

















POST /map_message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<map_message>



<timestamp>2016-01-01 12:30:00</timestamp>



  <user_params>



    <user_ID123456789</user_ID>



    <user_password>********</user_password>



    <wallet_ID>A2C4E6G8I</wallet_ID>



  </user_params>



  <shopping_list_params>



    <list_params>



      <name> Example Predictive Shopping List </name>



      <date_created>2016-01-01 12:30:00</date_created>



    </list_params>



    <product_list>



      ...



    </product_list>



  </shopping_list_params>



  <path_params>



    <start>closest_to_user</start>



    <end>closest_to_checkout</end>



    <alts>true</alts>



  </path_params>



</map_message>










In some implementations, SIS may determine the availability 1912 of the items on the user's predictive shopping list, and/or the availability of alternative items (e.g. if items in the shopping list are not available and/or the like) via sending a product information query 1913 to the SIS database 1914. A PHP-encoded product info query may take a form similar to the following:
















<?php



...



$merchant = “54435435562436”;



$exp_result = mysql_query(“FROM products WHERE



merchant_ID=‘$merchant’ SELECT *);



?>









In some implementations, the query may access the products table 1915a and retrieve a store injection package stored on SIS for the purpose of determining the merchant's most recently-provided inventory. In some implementations, SIS may, instead of retrieving said package from the SIS database, may contact a store injection database or a merchant directly to retrieve a recent store injection package for the merchant. In some implementations, the SIS database may return a product information result 1915, which may contain a store injection package for the merchant specified, so that SIS may parse the package for the merchant's available inventory. In some implementations, items on the user's predictive shopping list not available at the merchant at the time of purchase may be swapped for alternative items (e.g. stored in the predictive shopping list, proposed by the merchant and/or social network contacts, and/or the like), and SIS may parse the package for information regarding these alternative items. In some implementations, SIS may also obtain the store layout 1916 and aisle information for all the items on the user's predictive shopping list and/or alternatives added to the list, e.g. via parsing the store injection package for such information. In some implementations, SIS may use the store layout, aisle and shelf information for each product, and/or the like to determine the best path to each item in the store, and to generate an interactive map 1917 to each item on the predictive shopping list. In some implementations, the path from item to item may be drawn via mapping Cartesian coordinates to the floor map/bird's eye view image of the store, and plotting the path based on these coordinates. In some implementations, SIS may then send the shopping map via a shopping map response 1918 to the smart shopping cart. In some implementations, a XML-enabled shopping map 1918 may take a form similar to the following:
















<graphic-shopping map>









<order>









<product>









<id>573687474878</id>



<x>20</x>



<y>40</y>









</product>



<product>









<id>87676876879</id>



<x>20</x>



<y>70</y>









</product>



...









</order>



<map-base>









<format> JPEG </format>



<compression> JPEG compression </compression>









<size> 123456 bytes </size>



<x-Resolution> 72.0 </x-Resolution>



<y-Resolution> 72.0 </y-Resolution>



<x-width>200</x-width>



<y-height>320</y-height>



<date_time> 2014:8:11 16:45:32 </date_time>



<color>greyscale</color>



<content> ÿØÿà JFIF H H ÿâ’ICC_PROFILE










appl mntrRGB XYZ Ü $ acspAPPL öÖÓ-appl




desc P bdscm ’ {hacek over (S)}cprt           @ $wtpt




        d rXYZ           x gXYZ





        custom character   bXYZ            Rtrc





        ’ AARG À vcgt ...










</content>









</map_base>



<overlay_color>red</overlay_color>









</graphic_shopping_map>









In some implementations, the shopping cart may forward 1919 the shopping map to the user's electronic device. In some implementations, SIS may send the shopping map 1920 directly to the user's electronic device. In some implementations, the cart may display 1921 the map on a display mounted on the cart, and/or the user's electronic device may display 1922 the map on its screen.


After receiving the map, the user 1923 may add items to his/her cart 1924, which may involve allowing the smart cart to scan and/or read 1925 a code (e.g. a QR code, barcode, NFC tag, RFID tag, and/or the like) from the product packaging. The smart cart may then update the shopping list 1927 on the cart by marking the item scanned as being obtained via checking off the item, crossing off the item, and/or a like action on the list. In some implementations, the cart may also send a predictive shopping list update message 1929 to the user's electronic device, which may use the sent scanned product information to update a copy of the shopping list being maintained on the electronic device 1928. In some implementations, an exemplary XML-encoded shopping list update message 1929 may take a form similar to the following:
















POST /scanned_item_message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<scanned_item_message>



<timestamp>2016-01-01 12:30:00</timestamp>









<user_params>









<user_ID123456789</user_ID>



<user_password>********</user_password>



<wallet_ID>A2C4E6G8I</wallet_ID>









</user_params>









<scanned_item_params>









 <product>









...









</product>



 <on_list>true</on_list>



 <action>check_off</action>









</scanned_item_params>









</scanned_item_message>









In other implementations, the user may instead scan and/or read a code from a product using the user's electronic device 1926, and may send a predictive shopping list update message 1930 to the user's smart cart, which may provide scanned product information to the cart that may allow it to cross off and/or otherwise mark items on its copy of the shopping list. In some implementations, the shopping list update message 1930 may take a form similar to update message 1929. In some implementations, the user may be able to dynamically change his/her predictive shopping list while shopping for products on the list. For example, the user may be able to manually add new items for the list, or manually remove items on the list. In other implementations, scanning items not on the list may add them automatically to the user's predictive shopping list, and re-scanning items already scanned and placed in the cart may remove them from the list and/or uncheck them on the list.


In some implementations, the cart may ask the user to confirm checkout 1931 of the items collected in the cart once all of the items on the predictive shopping list have been marked as being scanned. In some implementations, the user's electronic device may also prompt the user to checkout once all of the items on the user's predictive shopping list have been marked as being scanned. In some implementations the user may confirm 1932 checkout of the items added to the cart. In some implementations, the shopping cart may generate 1933 a checkout code that the user may use in order to initiate a snap purchase 1936 via the user's electronic device. The user's device may then send a snap purchase checkout request 1938 to a payment network 1940. In some implementations, a XML-encoded snap purchase checkout request 1938 may take a form similar to snap purchase message as described herein.


In some implementations, the payment network may talk to the appropriate parties (e.g. merchant's acquirer, user's issuer, and/or the like) in order to process 1941 the snap purchase checkout transaction. In some implementations the payment network may then send a transaction receipt 1942 to the merchant 1935 so that the merchant may create a record for the transaction, and be able to verify that the user purchased the items without needing the user to complete any part of the transaction with the merchant. In some implementations the payment network may send a notification and/or transaction receipt to the user as well.


In some implementations, the shopping cart may, instead of generating a checkout code, generate and send a shopping cart checkout request 1934 directly to the merchant. In some implementations, the checkout request 1934 may take a form similar to the following:
















POST /checkout message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<checkout_message>



<timestamp>2016-01-01 12:30:00</timestamp>









<user_params>









<user 10123456789</user_ID>



<user_password>********</user_password>



<wallet_ID>A2C4E6G8I</wallet_ID>









</user_params>



<checkout_params>









<date>2012-01-01 12:30:00</date >



<merchant_ID>82719487194</merchant_ID>



<transaction_total>24.50</transaction_total>



<tax>l,50</tax>









</checkout_params>



<product_params>









<product>









 <ID>289786479</ID>









<name>Twinings &#174; Chai Ultra Spice



Tea</name>



<weight>40, g</weight>









 <product_code>7017726772</product_code>



 <lot_ID>908D0F989A</lot_ID>



 <merchant_ID>9483738921</merchant_ID>



 <price>4.99</price>



 <aisle>7</aisle>



 <shelf>3</shelf>



 <expiration_datex/expiration_date>



 ...









</product>



<product>









<id>098765432</id>



<name>Sunshine &#174; Cheez-It &#174; Baked



Snack Crackers</name>



<weight>170</weight>



<product_code>2410070582</product_code>



<lot_ID>9274E8AC</lot_ID>



<merchant_ID>1155448899</merchant_ID>



<price>3.99</price>



<aisle>5</aisle>



<shelf>2</shelf>



<expiration_date>2017-02-01







12 : 30:00</expiration_date>









...



</product>









</product_params>









</checkout_message>









In some implementations the merchant may then process 1937 the checkout transaction using the information in the checkout request, and may send a transaction receipt 1939 to the user once the checkout has been processed.



FIGS. 20-a-b show logic flow diagrams illustrating using predictive shopping lusts with a smart shopping cart in some embodiments of the SIS. In some implementations, the shopping cart may broadcast a connection signal 2001, which may be picked up by the user's electronic device. In some implementations the user may view the shopping cart's broadcast signal 2002, and may send a request to the cart in order to connect to the shopping cart. In some implementations, the shopping cart may receive 2003 the connection message and may attempt to connect to the electronic device. If the connection attempt is a success 2004, then the shopping cart may send a connection response 2005 to the electronic device, which may provide information to aid the electronic device in connecting to the shopping cart. In some implementations, the electronic device may receive the connection response 2006 and may use the response information to attempt to connect to the shopping cart. If the electronic device successfully connects to the shopping cart 2007, then the electronic device may send 2008 a predictive shopping list message to the shopping cart, containing the user's predictive shopping list. The shopping cart may receive the shopping list 2009 from the electronic device, and may send a message 2010 to SIS containing the predictive shopping list and asking SIS to determine the best path to all items on the list. SIS may, for each product 2011, retrieve from the SIS database 2012 product information, such as the product location, the product availability, and/or the like. If the item is not in stock 2013, SIS may retrieve alternative products in stock 2014 from the SIS database, which may be chosen based on stored product feedback, alternative items already in the user's predictive shopping list, and/or the like. In some implementations, if the item on the list is in stock, SIS may add the product to a shopping list product graph 2015, which may include adding the product as a node to the graph, which is fully-connected to all other nodes (i.e. products) in the graph, and in which each weight is equal to the distance between the product and the other node it is attached to. In some implementations, distance may be determined by the physical distance between items, may be determined by the number of aisles in between the products (with an added weight given to products whose aisles are in different rows), and/or a like metric. In some implementations, if the item added to the graph is not the last on the list 1216, SIS may then check the next item on the list 2017. Otherwise, SIS may use the generated graph to calculate 2018 the shortest path on the graph from the item closest to the user, to the item furthest from the user, to the item closest to the checkout section of the store, to and from items chosen by the user, and/or the like. SIS may use the calculated path to generate a graphical and optionally interactive map that may illustrate the calculated shortest path to all products on the list. In some implementations, the graphical map may be a drawn map of the store, with a colored path overlay signifying how to navigate the store, and containing markers which indicate products to purchase. In other implementations, the user may view a bird's-eye image view of the store with the path overlayed on the image, along with markers indicating products on the user's list. In some implementations, SIS may send 2020 this graphical map to the shopping cart, which may display 2021 the map for the user. The user may also receive the graphical map on his/her electronic device 2022, which may also display the map for the user's convenience.


In some implementations, the user may place 2023 items in the shopping cart, and may scan and/or read codes from the product via the shopping cart 2024, or scan and/or read codes from the product via the user's electronic device 2026. In some implementations the code scanned may be a QR code, RFID tag, bar code, NFC tag, and/or a like code. In some implementations, after either the shopping cart 2025 or the electronic device 2027 parses the data from the scanned code and obtains information from the parsed data (and, if applicable, after the electronic device has send a notification of a scan to the shopping cart), the shopping cart may search 2028 for the scanned product on the predictive shopping list using the product information in the code that was scanned. In some implementations, if the item is on the list 2029, the shopping cart may mark 2030 the product as being added to the cart on the shopping cart's predictive shopping list, and may additionally send a notification to the user's electronic device 2031, which may provide an indication that the item was checked off the shopping cart's list, so that the electronic device may also mark 2032 the product as being added to the cart. In some implementations, if the electronic device scans the item as it is put in the cart, the electronic device may cross the item off its own list, and may send a notification to the cart indicating the scanned item is on the list.


If the item is not on the list, the shopping cart may add the item to the list 2033 and then mark the item as being added to the cart, and may send a notification 2034 to the electronic device indicating that an item should be added to the list on the electronic device 2032 and that the item should also be marked as added to the cart. In some implementations, if the electronic device is used to scan the item, the electronic device may instead add the item to its copy of the list, mark the item as being added to the cart, and may send a message to the shopping cart indicating that an item has been added to the list and to the shopping cart. In some implementations, re-scanning an item marked off may unmark the item and/or may remove the item from the list. In some implementations, once all items on the list have been scanned 2036, the shopping cart may prompt the user to confirm checkout 2037. If the user confirms 2038 the checkout, a checkout request 2039 may be sent to the merchant, who may process the transaction 2040 and may send a transaction receipt 2041 to the user's electronic device detailing the transaction status, and/or other transaction details (e.g. total cost, items purchased in transaction, and/or the like). In some implementations, rather than sending a checkout message to the merchant, the electronic device may snap 2042 a checkout code and/or perform a like task to snap checkout the items scanned by the device and/or the shopping cart, which may involve sending a message to a payment network to process the transaction. In some implementations, the merchant may receive a transaction receipt from the payment network 2043 once the transaction has been processed in order to verify that the user has successfully purchased the items. In other implementations, the smart shopping cart may instead generate a checkout code (e.g. QR code, barcode, and/or the like) for the merchant to scan at its checkout counter via a point-of-sales (PoS) device, may generate a store injection checkout message to send to the user's electronic device so that the user may initiate a store injection transaction, and/or the like.



FIG. 21 shows a data flow diagram illustrating providing predictive shopping list feedback in some embodiments of the SIS. In some implementations, the user 2105 may provide feedback 2110 on items on his/her predictive shopping list by entering said feedback into his/her electronic device 2115, which may be connected to the user's electronic wallet account. In some implementations, feedback may comprise textual feedback such as comments and/or the like, numerical feedback such as ratings/scores and/or the like, and/or a like type of feedback. In some implementations, feedback may also comprise indicating new items to add, items to delete from the shopping list, items to make public/private, and/or like information. In some implementations, the electronic device may then send the feedback via a shopping list feedback message 2120 to SIS 2125. In some implementations, an XML-encoded shopping list feedback message may take a form similar to the following:
















POST /feedback_message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<feedback_message>



<timestamp>2016-01-01 12:30:00</timestamp>









<user_params>









<user 10123456789</user_ID>



<user_password>********</user_password>



<wallet_ID>A2C4E6G8I</wallet_ID>









</user_params>



<feedback_params>









<feedback>









<product_ID>38749326578</product_ID>



<from_user>567463546548</from_user>



<rating>5</rating>



<comment></comment>



<visible>false</visible>



<action>update</action>



<GPS>40.7589905, −73.9790277</GPS>









</feedback>



...



<feedback>









<product_ID>5637563959</product_ID>



<from_user>567463546548</from_user>



<rating></rating>



<comment>Terrible taste; do not buy.</comment>



<visible>true</visible>



<action>remove</action>



<GPS>40.7589905, −73.9790277</GPS>









</feedback>



<feedback>









<product_ID>289786479</product_ID>



<from_user>567463546548</from_user>



<rating>5</rating>



<comment>Really good tea.</comment>



<visible>true</visible>



<action>add</action>



<GPS>40.7589905, −73.9790277</GPS>









</feedback>









</feedback_params>



</feedback_message>









In some implementations, SIS may store 2130 the feedback information from the feedback message by sending a feedback update query 2135 to the SIS database 2140 and storing the information in a new feedback record within the feedback table 2140b. After receiving a feedback result 2145 from the SIS database, SIS may update 2150 the user's predictive shopping list in the predictive shopping list table 2140a of the SIS database, based on the feedback received. For example, SIS may replace and/or add items to the predictive shopping list, may swap items on the list with alternative items suggested by SIS when the original item has negative aggregate and/or user feedback and/or when an alternate item has more positive aggregate and/or user feedback, and/or the like. SIS may then send the predictive shopping list 2155 to the user, and may allow the user to send a copy of and/or link to the list 2160 to various social networking profiles 2165 (e.g. Facebook, Twitter, and/or the like). In some implementations, the XML-encoded list may take a form similar to the following:














<product_list>









<user>









<user_ID>123456789</user_ID>



<wallet_ID>A2C4E6G8ID</wallet_ID>









</user>



<list_params>









<name> Example Predictive Shopping List </name>



<date_created>2016-01-01 12:30:00</date_created>









</list params>



<replacement_products>









<expiring>









...









</expiring>



<smart_device>









...









</smart_device>



<predicted_replace>









...









<predicted_replace>









</replacement_products>



<suggested_products>









<personal>









<product>









<ID>289786479</ID>



<name>Twinings &#174; Chai Ultra Spice



Tea</name>



<weight>40, g</weight>



<product_code>7017726772</product_code>



<lot_ID>90 8D0F98 9A</lot_ID>



<merchant_ID>9483738921</merchant_ID>



<price>4.99</price>



<aisle>7</aisle>



<shelf>3</shelf>



<expiration_date></expiration_date>



<confidence_level>0.8</confidence_level>



<agg_SIS_rating>4.7</agg_SIS_rating>









<agg_external_rating>4.5</agg_external_rating>



<feedback_IDs>87487487485, 5587468786, 67464687868,



...</feedback_IDs>









<visible>true</visible>



<GPS>40.7589905, −73.9790277</GPS>



<replenish_cycle>4, week</replenish_cycle>



<alt_products>587456465874,



38749326578</alt_products>



...









</product>









</personal>



<social>









<product>









<ID>38749326578</ID>



<name>Lipton &#174; Black Tea</name>



<weight>40, g</weight>



<product_code>83487456874</product_code>



<lot_ID>232D2F436A</lot_ID>









<merchant_ID>54758487487428</merchant_ID>









<price>3.99</price>



<aisle>7</aisle>



<shelf>3</shelf>



<expiration_date></expiration_date>









<confidence_level>0.76</confidence_level>









<agg_SIS_rating>4.0</agg_SIS_rating>



<agg_external_rating>3.7</agg_external_rating>









<feedback_IDs>87487487485, 5587468786, 67464687868,



...</feedback IDs>









<GPS>40.7589905, −73.9790277</GPS>



<replenish_cycle>4, week</replenish_cycle>



<alt_products>289786479,



97298473974</alt_products>









...



</product>









</social>









</suggested_products>







</product_list>










FIG. 22 shows a data flow diagram illustrating receiving predictive shopping list feedback from other users in some embodiments of the SIS. In some implementations, friends, family, and/or like entities 2205 may provide their own receipts, shopping lists, and/or the like 2215 to SIS 2225. In some implementations, friends, family, and/or like entities on social networking websites 2210 where the user 2265 has provided his/her predictive shopping list may also provide feedback 2220 on the user's predictive shopping list. In some implementations, SIS may store 2230 the social network feedback, as well as the receipt and shopping list data from friends, family, and/or the like, by sending the feedback and/or the like to the SIS database 2240 via a social network feedback update query 2235. SIS may store the social network feedback in the feedback table 2240b of the SIS database, and may store the user's friends, family, and/or the like in the shopping list table 2240a of the SIS database. SIS database may send a social network feedback result 2245 back to the SIS. SIS may then alter 2250 the predictive shopping lists of the user and/or the friends, family, and/or other entities that have provided their own predictive shopping lists, based on the aggregate feedback received and based on other users' predictive shopping lists. For example, SIS may alter the user's predictive shopping list via removing a product from the list if the aggregate feedback is negative for the particular item, suggesting alternative products for the removed products based on alternative items that friends, family, and/or the like have positively rated, adding products frequently purchased by friends, family, and/or the like (and/or offering such products as alternatives to products already on the user's predictive shopping list), and/or the like. SIS may, after altering the user's predictive shopping list, send an updated copy of the predictive shopping list 2255 to the user via the user's electronic device 2260.



FIG. 23 shows a logic flow diagram illustrating receiving feedback for predictive shopping list in some embodiments of the SIS. In some implementations, the user may be prompted by SIS to provide feedback 2305 to their predictive shopping list, if applicable, including but not limited to commenting and/or rating the shopping list, adding/removing items on the list, swapping items on the list with items offered as alternatives to those already on the list, and/or the like. In some implementations, SIS may generate a social network link 2310 that the user may use to post the predictive shopping list on a social networking website (e.g. on Facebook, Twitter, and/or the like). In some implementations, if the user agrees to post the list to a social network 2315, the user may be provided with a number of methods of doing so, e.g., via marking a “share” setting in the predictive shopping list that may automatically add the predictive shopping list to social networking profiles specified by the user and may automatically update the shopping list if it changes, via the user manually posting the link to the predictive shopping list on a social networking website 2320, and/or the like. In some implementations, the user's social networking may then be able to interact with the link provided by SIS to review 2325 the user's predictive shopping list, and to provide feedback on the predictive shopping list 2330, including providing comments, ratings, their own receipts and/or shopping lists, and/or like input. In some implementations such feedback may be communicated to SIS, which may store 2335 the predictive shopping list feedback in the feedback table of the SIS database. SIS may also process 2340 the feedback provided (such as updating the aggregated score and/or rating of the item, parsing the comments provided for keywords to indicate the tone of the comments, parsing the community's receipts and/or shopping lists for alternative items, and/or the like). SIS may automatically 2345 alter the user's predictive shopping list based on the feedback processed, and/or may prompt the user 2350 to alter his/her predictive shopping list based on the feedback received from the community. In some implementations, altering the shopping list may be performed via adding and/or removing items from the list, reviewing alternative items and replacing items on the list based on which items received mostly negative feedback and which receive mostly positive feedback, and/or the like. In some implementations, the user may also set a threshold for how much negative feedback an item may receive before SIS automatically removes it from the user's list (e.g., the user may be able to specify that only items ranked at least 4 out of 5 starts may be kept on the list, and that any items ranked lower may be removed from the list and replaced with alternative items ranked at least 4 out of 5, and/or the like). In some implementations, SIS may then update 2355 the social network link to reflect the altered list.



FIG. 24 shows a block diagram illustrating notifying users of nearby merchants with items on predictive shopping list in some embodiments of the SIS. In some implementations, a user 2405 may walk around in the real world, and may be notified via his/her electronic wallet-enabled device 2410 that a nearby merchant 2425 has an item on the user's predictive shopping list 2415 in stock. The user may be able to enter the store and purchase the item 2420, or may be able to purchase the item from the user's electronic device, and pick the item up once the user arrives at the merchant.



FIG. 25 shows a data flow diagram illustrating notifying users of nearby merchants with items on predictive shopping list in some embodiments of the SIS. In some implementations, a merchant 2501 may wish to generate store injection packages, and may do so via obtaining its inventory and/or stock 2502 via sending an inventory query 2503 to the merchant's database 2504. In some implementations a PHP-encoded database query 2503 may take a form similar to the following:














<?php









...



$product_result = mysql_query(“FROM products SELECT * ;”);







?>









In some implementations the database may send an inventory result 2505 containing a list of all products and their attributes, including availability of items and/or the like. The merchant may generate 2506 a store injection package containing information about the merchant's store, the merchant's inventory and/or stock, and or like information about the merchant. The merchant may then send 2507 the store injection package to a store injection server 2508 configured to pass store injection packages to entities requesting the merchant's inventory information.


In some implementations, a user 2509 may also walk around his/her real-life environment with his/her wallet-enabled electronic device 2510, which may periodically (e.g. every 20 seconds, every 5 minutes, every 20 minutes, based on a user-specified cycle period, and/or the like) obtain the location of the user (e.g. via GPS coordinates, Wi-Fi triangulation, and/or the like) 2511 and send the location information via a location message 2512 to the SIS. In some implementations a XML-encoded location message 2512 may take a form similar to the following:
















POST /location_message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<location_message>



<timestamp>2016-01-01 12:30:00</timestamp>









<user_params>









<user_ID>10123456789</user_ID>



<user_password>********</user_password>



<wallet_ID>A2C4E6G8I</wallet_ID>









</user_params>



<location_params>









<GPS>40.7589905, −73.9790277</GPS>



<wifi_IPs> 50.59.105.10, 50.59.102.10,



50.59.104.3</wifi_IPs>









</location_params>









</location_message>









In some implementations, SIS may compare the user's location with the location of merchants in the SIS database. In some implementations, the user may also be able to indicate where (s)he is going, and SIS may, rather than determining merchants near the user, may determine merchants on the user's way to his/her destination. SIS may send a store injection request 2515 to the store injection server, requesting a store injection package of the specified merchant. In some implementations a XML-encoded store injection request 2515 may take a form similar to the following:
















POST /injection_package_message.php HTTP/1.1



Host: www.SISproccess.com



Content-Type: Application/XML



Content-Length: 788



<?XML version = “1.0” encoding = “UTF-8”?>



<injection_package message>



<timestamp>2016-01-01 12:30:00</timestamp>









<merchant_params>









<merchant_ID>27462548458</merchant_ID>



<merchant_name>********</merchant_name>



<data_requested>inventory package</data_requested>









</merchant_params>









</injection_package_message>









In some implementations the store injection server may send SIS a store injection package 2517 containing the most recent inventory and/or like information the merchant has provided. In other implementations, SIS may send a similar store injection request 2516 directly to the merchant in order to receive the store inventory. The merchant may in turn directly send its store injection package 2518 to SIS. SIS may then parse 2519 the store injection package to determine the merchant's inventory, and then may compare 2520 the parsed inventory information with the products on the user's predictive shopping list. If a product on the list matches a product in the merchant's inventory, SIS may send an alert 2521 to the user indicating that a nearby merchant (and/or a merchant on the way to a pre-entered destination) has a product on the user's list.



FIGS. 26a-b show logic flow diagrams illustrating notifying users of nearby merchants with items on predictive shopping list in some embodiments of the SIS. In some implementations, a merchant may obtain its inventory and/or stock 2601 from its database, and may generate 2602 a store injection package using all of the inventory information retrieved from the database. The merchant may then generate and send 2603 a store injection package message to a store injection server, which may store 2604 and keep track of all generated store injection packets, and which may also request updated packets at regular intervals which may be specified by the merchant and/or another entity.


In some implementations, the user device may also determine its location 2605 via GPS, Wi-Fi, and or a like method and/or type of data. The user's device may send 2606 the device's location to the SIS, which may, after receiving 2607 the user's location information, may, for each merchant in proximity to the user 2608, generate and send a store injection request 2609 to the store injection server asking for current inventory information. In some implementations, proximity may be gauged by physical distance to the user's current location, distance from a user-entered destination or from the path the user is taking to the destination, and/or the like, in some implementations, the store injection server may receive 2610 the request for the merchant's store injection package and may retrieve the package for the specified merchant from its database 2611. In some implementations, the store injection server may then send a store injection response 2612 to SIS containing the pertinent store injection package. SIS may receive the package response 2613 and may search the package 2614 for each product on the user's predictive shopping list. If at least one product is found 2615, SIS may send the user a merchant and item notification 2616 which, when received by the user 2618, may indicate to the user that a merchant has been found close to the user that has at least one item on the user's predictive shopping list. In some implementations, if the merchant does not have any of the user's items in its inventory and/or stock, SIS may try another merchant 2617 in close proximity to the user and/or the user's destination, and may request a store injection for the other merchant in a similar manner as described above.


In one embodiment, the user device may determine a user's location 2619 and send that location to the SIS server 2620. The SIS server may compare the user's location with that of saved merchants 2621 and for each merchant in a proximity to the user device, e.g., 2622, generate and send a store injection request for the package of current inventory information, e.g., 2623. The merchant server may receive the injection request and retrieve current inventory stock levels 2624, generate a store injection package 2625, and generate a response containing the generated store injection package, e.g., 2626. In one embodiment, the SIS server may receive the response 2627 and if it matches 2629, send the merchant and item notifications to the user, e.g., 2630. If there are more merchants, e.g., 2631, the process may repeat. In one embodiment, the user device may receive the notification that the user is close to a merchant with an item on their predictive shopping list, e.g., 2632, and may alert the user to the predictive shopping opportunity.



FIG. 27 shows a block diagram illustrating a PoS checkout code in some embodiments of the SIS. In some implementations, a user, after scanning all items on his/her predictive shopping list, may view on his/her electronic wallet-enabled device 2710, a receipt 2715 containing all of the items checked out, as well as a QR and/or like code 2720 that may be scanned by PoS device 2705. By scanning QR code 2720, the PoS device may be able to obtain all the information about the user's checkout 2725, including product information for all items the user plans to purchase. The PoS may then use this information for the user to check out. Alternatively, the user may checkout automatically through the electronic wallet, and the PoS may be able to scan the QR and/or like code in order to verify that the user has successfully checked out through his/her electronic wallet, and does not need to check out via the merchant's PoS.



FIGS. 28A-B are an example data flow illustrating aspects of product placement revenue sharing, in one embodiment of the SIS. In one embodiment, user 2801 observes a product in a store 2803 and scans it with his/her mobile device 2802. In so doing, the user's mobile device may transmit a store engagement request 28 to a snap server 2804. The engagement request may contain information about the product scanned, such as a photo of the product, the location of the product and user, the store that the user is physically in, nearby WiFi or cellular networks for tracking the user, and/or the like. In some embodiments, only the image data of the snapped product will be sent to the snap server. In other embodiments, additional meta-data relating to the user's movement or behavior may be transmitted, such as how long the user has been in the store, where within the store they are, what their path through the store has been, other products that are near the user, and/or the like. An example store engagement request, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:
















POST /store_engagement_request_post.php HTTP/1.1



Host: www.snapserver.com



Content-Type: Application/XML



Content-Length: 667



<?XML version = “1.0” encoding = “UTF-8”?>



<store_engagement_request>









<timestamp>2020-12-12 15:22:43</timestamp>



<user_name>John Doe</user_name>



<user_credentials>









<password>secretpassl234</password>



<private_key>h767kwjiwnfe456#@hnniimidrtsxbi</private_key>









</user_credentials>



<store>









<lat>23.15484</lat>



<lon>15.4758</lon>



<last_visited_store>15days</last_visited_store>



<store_map_provider>google_maps_interior</store_map_provider>



<store_interactions baseLat=23.1557 baseLon=15.4768>









<point type=“entry” time=“−600sec” xOset=“0” yOset=“O”/>



<point type=“aisle” time=“−432sec” xOset=“12” yOset=“5.2”/>



<point type=“store_clerk_interaction” time=“−215sec”>









<detected_using type=“nfc_clerk_badge” id=“E3521” />



<total_time_interaction value=“93sec” />









</point>



<point type=“nearProduct” time=“−122” xOset=“5” yOset=“18”>



<product determinedVia=“internal_prod_db” name=“iPhone”/>



<detected using_type=“mobile_device_camera_passive” />









<time_interaction value=“−26sec” />









</point>









</store_interactions>



<current_location_in_store xOset=“19” yOset=“5”>



<product_snap id=“584758”>









<name detectedVia=“NFC” value=“iPad Mini” />



<image type=“JPEG”>









ÿØÿáæExif2012:04:27 O9:45:38zØhÿÿÖ£ÿûû; ÿÿ£ ÿÿ’ú . õ#£



ô′. custom charactercustom character  ÿg ú custom character  hÿü custom character  ÿÿÿ_ ô#ÿ£ÿûõÿûÿÿÿôhh{tilde over ( )}″ÿgÿc custom character   Yõûÿr{tilde over ( )}û custom character  ô



oúÿ, ÿh . g >ÿûôÿí custom character  ÿû*ýôÖÿch*~ ô ÿûÿÿô custom character  ″ûûõôŸÿúÖÿ custom charactercustom character  ′íûÿõ



...









 </image>









</product_snap>



<product_snap>



...



 </product_snap>







</store_engagement_request>









In one embodiment, the snap server 2804 will then process the store engagement request, e.g., 2809 and send a store engagement response 2810 to the user. Further detail regarding the processing of user location engagement requests may be found with respect to FIG. 28, e.g., ULEP Component 2900. In some embodiments, the store engagement response may include links to retrieve merchant store injection packages. In still other embodiments, the snap server 2804 may itself retrieve either directly from the merchant server, e.g., 2805, or from a database accessible to the snap server 2804, store injection packages in substantially complete form. In so doing, the user mobile device may receive merchant store injection packages directly from the snap server 2804.


In one embodiment, user device 2802 may then extract the links to store injection packages from the store injection response 2810, e.g., 2811. For each store injection link contained within the response, the user device may initiate an injection request, e.g., 2812 to a merchant injection server 2805. The merchant server may then reply with an injection response, e.g., 2813, containing views, product information, reviews of a product, alternative products, and/or the like. An example injection response 2813, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:














POST /injection_response.php HTTP/1.1


Host: www.merchantserver.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<injection_response id=“8547”>









<timestamp>2020-12-12 15:22:43</timestamp>



<user_name>John Doe</user_name>



<user_credentials>









<password>secretpassl234</password>



<private_key>h767kwjiwnfe456#@hnniimidrtsxbi</private_key>









</user_credentials>



<injection id=“8547.1”>









<store_name>Buy.com</ store_name>



<view id=“l” is_default=“yes” type=“store”>









<link toView=“2”>Read Reviews</link>



<link toView=“3”>View Product Photos</link>



<link toView=“4”>View comparable products</link>



<link toView=“5”>Buy now</link>









</view>



<view id=“2” type=“reviews”>









<review>









<snip>This product is great! Buy it now..</snip>



<full_review>http://www.merch.com/65565</full_review>









</review>



<review>









...



</review>









</view>



<view id=“3” type=“product_photos”>









<photo angle=“front” type=“JPEG”>









ô′. custom charactercustom character  ÿg ú custom character  hÿü custom character  ÿÿÿÿ_ô#ÿ£ÿûÿÿÿôhh{tilde over ( )}″ÿgÿc custom character   Yõûÿr{tilde over ( )} û custom character  ô



oúÿ, ÿh . g >ÿûôÿí custom character  ÿû*ýôÖÿch*~ ô ÿûÿÿô custom character  ″ûûõôŸÿúÖÿ custom charactercustom character   ′íûÿõ









</photo>



<photo>









...









</photo>









</view>



<view id=“4” type=“compare”>









<compare_search>pricequery</compare_search>



<url>http://www.compare.com/prod=iPad+Mini</url>









</view>



<view id=5” type=“buy_now”>









<price>$299.99</price>



<lightbox_checkout url = “http://www.merch.com/87664” />



</view>









</injection>



<injection>









...









</injection>







</ injection_response>









In one embodiment, user device 2802 will render an injection response with interaction tracking, e.g., 2814. Interaction tracking may include changing links returned in the injection response 2813 to point to alternative locations, setting device or hardware based triggers that monitor the user's use of the injection response, setting device triggers to monitor a user's location, and/or the like. In one embodiment, the snap server 2804 will perform the injection response modification. An example injection response 2813, modified to include interaction tracking, substantially in the form of XML-formatted data, is provided below:














<?XML version = “1.0” encoding = “UTF-8”?>


<modified_injection_response id=“8547”>









<timestamp>2020-12-12 15:22:43</timestamp>



<user_name>John Doe</user_name>



<user_credentials>









<password>secretpassl234</password>



<private_key>h767kwjiwnfe456#@hnniimidrtsxbi</private_key>









 </user_credentials>



<injection id=“8547.1”>









<store_name>Buy.com</store_name>



<view id=“l” is_default=“yes” type=“store”>









<tracking_link=“http://snpsrvr.com/87645“ />



<link toView=“2”>Read Reviews</link>



<link toView=“3”>View Product Photos</link>



<link toView=“4”>View comparable products</link>



<link toView=“5”>Buy now</link>









</view>



<view id=“2” type=“reviews”>









<review>









<snip>This product is great! Buy it now..</snip>









<full_review>http://snpsrvr.com/www.march.com/65565









</full_review>









</review>



<review>









...









</review>









</view>



<view id=“3” type=“product_photos”>









<trigger set_on=“device” type=“when_viewed”>









<meta_data>









<include>time_viewed</include>



<include>did_user_zoom</include>









</meta_data>









</trigger>



<photo angle=“front” type=“JPEG”>









ô′. custom charactercustom character  ÿg ú custom character  hÿü custom character  ÿÿÿÿ_ô#ÿ£ÿûÿÿÿôhh{tilde over ( )}″ÿgÿc custom character   Yõûÿr{tilde over ( )} û custom character  ô



oúÿ, ÿh . g >ÿûôÿí custom character  ÿû*ýôÖÿch*~ ô ÿûÿÿô custom character  ″ûûõôŸÿúÖÿ custom charactercustom character   ′íûÿõ









</photo>



</photo>









...









</photo>









</view>



<view id=“4” type=“compare”>









<compare_search>pricequery</compare_search>



<url>http://snpsrvr.com/prod=iPad+Mini</url>









</view>



<view id=5” type=“buy_now”>









<price>$299.99</price>



<lightbox_checkout url = “http://www.merch.com/87664” />









 </view>









</injection>



<injection>









 ...









 </injection>







</modified_injection_response>









Further detail regarding rendering injection responses with interaction tracking may be found herein and particularly with respect to FIG. 30, e.g., RIR Component 3000.


In some embodiments, user 2801 may then interact with the rendered injection responses (i.e., by viewing reviews, browsing an integrated product store, looking at product photos, and/or the like), e.g., 2815. User device 2802 may have triggers that are set to monitor the user's behavior, or the endpoint of the injected content may have been changed as described above in order to facilitate tracking of user engagement in the injection response by snap server 2804.


In one embodiment, user device 2802 will prepare a virtual engagement message 2816 that contains details about the user's interaction with the injected content as well as information about the location and/or behavior of the user while viewing the injected content. In so doing, the snap server 2804 may be enabled to facilitate calculation of the relative engagement factor, a given set of injected content imparted on the user's ultimate purchase decision. An example virtual engagement message 2816, substantially in the form of an HTTP(S) POST message including XML-formatted data, is provided below:














POST /virtual_engagement_message.php HTTP/1.1


Host: www.snapserver.com


Content-Type: Application/XML


Content-Length: 667


<?XML version = “1.0” encoding = “UTF-8”?>


<virtual_engagement_message id=“8547”>









<timestamp>2020-12-12 15:22:43</timestamp>



<user_name>John Doe</user_name>



<user_credentials>









<password>secretpassl234</password>



<private key>h767kwjiwnfe456#@hnniimidrtsxbi</private key>









</user credentials>



< engagements >









<injection id=“8547.1”>









<view id=“1”>









<user_action type=“click_link”>









<link toView=“2”>



<time_of_action value=“12:45:18 UTC” />



<location_during_action>









<lat>54.125</lat>



<lon>18.1247</lon>









</location_during_action>



<wifi_signals_nearby>









<signal ssid=“starbucks45st” />









</wifi_signals_nearby>



<user_friends _nearby>









<friend facebook_id=“454844” name=“Mi



Lee” />



<friend facebook_id=“671323” name=“John



Lee” />









</user_friends_nearby>









</user_action>









</view>



<view id=“2”>









<user_action type=“read_review”>









<review_ID>1254</review_ID>



<time_of_action value=“12:45:45 UTC” />



<location_during_action>









<lat>54.125</lat>



<lon>18.1247</lon>









</location_during_action>



<wifi_signals_nearby>









<signal ssid=“linksys” />



<signal ssid=“starbucks45st” />









</wifi_signals_nearby>



<user_friends_nearby>









<friend facebook id=“671323” name=“John



Lee” />



</user_friends_nearby>









</user_action>



<user_action type=“scrolled_bottom_review”>









<time_of_action value=“12:45:49 UTC” />



<scroll speed value=“2.5inchesPerSecond” />









</user_action>









</view>



<view>









...









</view>



</injection>



<injection>









...









 </injection>



</engagements >







</virtual_engagement_message>









In one embodiment, the snap server 2804 may then process the virtual engagement message, e.g., 2817. Further details regarding processing a virtual engagement message may be found herein and particularly with reference to FIG. 31, e.g., PVE Component 3100. In one embodiment, snap server 2804 may then reply to the user device with an acknowledgement that the virtual engagement message has been processed, e.g., a virtual engagement response 2818. The process of monitoring user engagement inputs, e.g., 2815, and sending/processing of virtual engagement messages 2816 may repeat.


In one embodiment, user 2801 may have received sufficient information in order to purchase a product. As such, the user may initiate a purchase, e.g., a purchase initiation request 2819, using their mobile device. In other embodiments, the user may instead purchase the product in a physical store such as the store they are currently in. A merchant 2805 may process the sale and provide the user device with a confirmation of purchase, e.g., purchase response 2820, indicating that the product or service has been purchased.


In some embodiments, user device 2802 will then submit a request to snap server 2804 to have a consolidation process run in order to calculate the relative engagement percentage attributable to the physical merchant(s) and virtual merchant(s) (e.g., through injection into the user mobile device). In so doing, a revenue share amount may be calculated based on the product placement of the product in the physical store 2803 and/or by the placement of the product in various injection responses rendered on the user's device, e.g., 2822. In some embodiments, this capability of the SIS allows entities that are corollary to the user's purchase decision to share in the revenue associated with the purchase. Further details regarding product placement revenue share processing 2822 may be found herein and particularly with reference to FIGS. 32A-B, e.g., PPR Component 3200. The snap server 2804 may then send a confirmation that the consolidation request has been processed, e.g., verified purchase consolidation response 2823.



FIGS. 29A-B illustrate an example logic flow depicting aspects of user location engagement processing, e.g., an example ULEP Component, in one embodiment of a SIS. In one embodiment, user device 2901 may transmit a store engagement request to snap server 2902, e.g., 2904. The snap server may then extract location information from the engagement request, e.g., 2905. If the store location is not known, e.g., 2906, such as not being associated with a publically accessible record stored at a search engine (e.g., Google Maps), or not ascertainable by other means, image data contained in the engagement request may be examined. In other embodiments, other data in the engagement request such as nearby WiFi or Cellular signals, nearby friends of the user who have devices with a known location, and/or the like may be employed to determine a store and/or location. In one embodiment, locatable product snap surroundings may be viewable in the snapped image, e.g., 2907. For example, a store logo may be viewable on the price sticker of an item, store colors may be ascertainable, and/or the like. If such ascertainable details are present, the store/location may be determined based on them, e.g., 2908. Alternatively, default criteria may be used to determine location, e.g., 2909, such as prompting the user to manually enter the store location on their mobile device.


In one embodiment, if the snap image is of low quality, e.g., 2910, the user may be prompted to re-snap the product, e.g., 2911, to enable better location or product resolution. In one embodiment, the product may be looked up in a product database, e.g., 2910a. Lookup may be accomplished by using a publically available similar photo finder, such as TinEye, to find product descriptions matching the product photo. Alternatively, in some embodiments, a local database of product photography may be used. If the product is not discernable after processing, e.g., 2912, the non-product portion of the image(s) may be examined to determine if product surroundings are viewable (e.g. the area surrounding the product), e.g., 2913. If surroundings are available, that image area may be analyzed in order to determine the product. For example, in one embodiment, other products in the view that are viewable may be searched in order to find the identity of the desired product. This feature may take advantage of the fact that many merchants stock their physical products based on areas of similarities (e.g., a nearby DVD may enable a search for a product to be restricted to “Media” using facilities described herein). In one embodiment, the product is determined based on its surroundings 2914. If surroundings data is not sufficient, default criteria may be used to determine the product, e.g., 2915, such as prompting the user to manually enter the product description.


In one embodiment, additional information regarding the snapped product may be determined from the snap, e.g., 2916. For example, the in-store placement location of the product (such as near front of store) may be determined from a combination of interior-GPS, a physical store mapping service, and/or the product snap. In some embodiments, a value p1 is given to the placement of the product within the store, e.g., 2917. Other criteria that may be derived from the engagement request, location/lookup product data include in-store product price values p2 (e.g., by detecting price via NFC and/or viewable in product snap contained in engagement request, and/or the like) 2918, in-store quantity on hand value p3 (e.g., by detecting the amount of total stock a retailer has of a product by viewing image surroundings, NFC connection, polling a merchant's inventory server, and/or the like) 2919, and/or in-store staff engagement value p4 (e.g., by determining how long a consumer was in a given proximity to a store clerk, the relative movement of clerks and/or consumers, and/or the like) 2920. Values p1-p4 may be, in some embodiments, modified by a coefficient based on business rules (e.g., a weighting factor representing perceived or calculated importance of a given factor). In some embodiments, the store location, user information, product information, and calculated data may be stored in an interaction database 2921.


The logic flow continues with respect to FIG. 29B. In one embodiment, snap server 2902 determines if any store injection links merchants are available for delivery to the user's device, e.g., 2922. The determination of applicable store injections may be made with respect to the product snap and/or the like. If no merchants have relevant store injections available, a default store injection may be used, e.g., 2924. In other embodiments, merchant server(s) 2903 may be polled to retrieve current store injection content (such as an injection link or actual injection content), e.g., 2923. The store injection link may be sent to user device 2901. Individual store injection links may then be extracted and requested from merchants, e.g., 2925. In other embodiments, the snap server 2902 also contains the store injection links and store injection content.



FIG. 30 is an example logic flow illustrating aspects of rendering injection responses with interaction tracking, e.g., an example RIR Component, in one embodiment of a SIS. In one embodiment, a merchant injection server 3001 may transmit an injection response 3003. A user device 3002 may receive the injection response 3004. A suitable injection response parser may be available (e.g., an application binary, open source HTML parser such as WebKit, and/or the like), e.g., 3005. If no injection parser is available, a default local or a remote injection parser (such as one contained on the snap server itself), may be selected, e.g., 3006. In one embodiment, the user device will then load a local or remote parser and parse the injection response. A current view may be selected (e.g., a user consuming injection content that requests updated content and/or requests non-pre-loaded content), e.g., 3008. If no current view is selected a default view may be chosen, e.g., 3009. The user device may, in some embodiments, then modify the injection view(s) to include tracking information to facilitate the product placement revenue sharing capabilities of the SIS, e.g., 3010. In other embodiments, the tracking information may have been inserted by a third-party such as the merchant or by the snap server itself. Device triggers may be set on the user device, e.g., 3011, in order to monitor a user's engagement with the injected content and the user's locations and/or surroundings. The view may then be rendered for use by the user, e.g., 3012.



FIG. 31 shows an example logic flow illustrating aspects of processing virtual engagement messages, e.g., an example PVE Component, in one embodiment of a SIS. In one embodiment, a user device 701 may transmit a virtual engagement message to snap server 3102, e.g., 3103. A virtual engagement may be any interaction the user has with injected content and any information regarding the state of the user, device, or surroundings during that interaction. The snap server may extract injection package and merchant information from the message, e.g., 3104. The message may contain a current user location, e.g., 3105. If no location is available, previous location history may be used, e.g., 3106, and an estimate of the user's location determined based on the last known location of the user, time since the user's last location, user historical movements, and/or the like, e.g., 3108. If no location information can be determined, a default location may be used, e.g., 3107. If no user engagement view context is available, e.g., 3109 (i.e., it cannot be determined which view a user was interacting with at time of engagement action trigger), a default view content for the injection package may be used, e.g., 3110. In one embodiment, the engagement may then be categorized by type, such as a product search, social chat, product price viewing, and/or the like, e.g., 3111. Additional engagement parameters, such as the start time of the interaction, duration of the interaction, and/or the like may be extracted, e.g., 3112. If previous engagement history is available for this user or injection package, e.g., 3113, the previous record may be updated or appended to, e.g., 3114. Alternatively, a new engagement history record may be created and associated with the injection package or user. In so doing, the SIS may store information about a user's interaction and surroundings while in physical settings such as stores or at home and associate or correlate that information with relevant interactions with injected content and/or injected merchants.



FIGS. 32A-B are example logic flows illustrating aspects of product placement revenue share processing, e.g., an example PPR Component, in one embodiment of a SIS. In one embodiment, a snap server 3201 may receive a verified purchase consolidation request, e.g., 3202. A purchase consolidation request may be a request that indicates that a consumer has purchased a product or service at a merchant (either a physical merchant or a virtual merchant) and that the SIS should perform a revenue share calculation based on the user's relative engagement with various online and offline knowledge sources in order to come up with a revenue apportionment for a transaction. In one embodiment, store engagement records associated with the user, product, item, injection package, and/or the like may be retrieved from a database in communication with snap server 3201. A store engagement record may represent an interaction a user had with a product in a physical store, such as Staples or Home Depot. As such, there may be numerous interaction parameters associated with the interaction, such as the amount of time a user spent with an item, amount of time in store, path through store, surrounding items, and/or the like.


If the product was subject to premium placement in the store (e.g., a featured item on a store aisle cap-end, a sign overhead advertising the item, and/or the like), e.g., 3204, the store engagement value for this interaction may be changed by a coefPremiumPlacement value representing the importance of that particular aspect of the consumer's product interaction, e.g., 3205. Similarly, if a consumer interacts with a product for greater than a given amount of time, e.g., 3206, the store engagement value may be modified by coefLongEngagement, e.g., 3207, representing an increased contribution of the physical store to the consumer's buy decision. If a consumer interacts with staff in the physical store, e.g., 3208, such as by asking for assistance, the store engagement value may be modified by coefP2P to compensate the physical store for the labor of educating the consumer even if they do not receive the ultimate sales order, e.g., 3209. If more store engagement records are available, e.g., 3210, they may then be processed in turn.


In one embodiment, the SIS will retrieve virtual engagement records associated with the user, item, injection package, and/or the like, e.g., 3211. A virtual engagement may represent a consumer's interaction with content injected into their virtual wallet, content on a merchant's web site, peer-to-peer content shared directly from one user's device to another (such as NFC based anonymous recommendations of products transmitted to nearby users or transmitted over a wide area network to subscribed users). If a consumer read an online review about a product, e.g., 7812, the virtual engagement value for an injected merchant may be adjusted by an amount, such as coejVReadReview, to compensate the review provider for their portion of the consumer's decision process. If a consumer price compared, e.g., 3214, value coeJVPriceCompare may be similarly adjusted, e.g., 3215. In one embodiment, if a user views photos of a product, e.g., 3216, a virtual engagement value coeJVPhotoSearch may be increased or decreased in value or importance relative to other factors in the calculation, e.g., 3217. If additional virtual engagement records are available, e.g., 3218, the process may repeat.


The logic flow continues with respect to FIG. 32B. In one embodiment, a revenue share formula database is queried in order to determine an applicable revenue share formula for division of revenue, e.g., 3219. An example revenue share formula would be to award 80% of revenue to the entity that received the actual order, and divide the remaining revenue among any store, physical or virtual interactions that the consumer engaged in within 30 days of purchase. In one embodiment, if no revenue share formula is available for the product, combination of merchants, user, and/or the like, a default formula may be used, e.g., 3220. The calculated values of the store engagement records, virtual engagement records, and the coefficient values discussed herein may then be used to calculate a revenue apportionment based on the selected product placement revenue share formula, e.g., 3221. In one embodiment, merchants are then notified of their portion of the product placement revenue, e.g., 3222. In some embodiments, the SIS may facilitate reconciliation between merchant financial accounts, e.g., 3223, such as by facilitating automated wire transfers from the product selling party to the product placement revenue receiving entities (e.g., from the merchant who collected amount of sale to those persons/entitles/merchants that facilitated the sale by engaging the user in some manner).



FIG. 33 shows a user interface diagram illustrating example aspects of a wallet bonds settings mode of a virtual wallet application in some embodiments of the SIS. In a category of wallet bonds settings, a user may be able to modify settings such as, but not limited to, settings regarding: parent wallets 3301 (e.g., those that have authorization to place restriction on the user's wallet); child wallets 3302 (e.g., those wallets over which the user has authorization to place restrictions); peer wallets 3303 (e.g., those wallets that have a similar level of control and transparency); ad hoc wallets 3304 (e.g., those wallets that are connected temporarily in real-time, for example, for a one-time funds transfer); partial bond wallets (e.g., such as bonds between corporate employer virtual wallet and an employee's personal wallet, such that an employer wallet may provide limited funds with strings attached for the employee wallet to utilize for business purposes only), and/or the like.


SIS Controller


FIG. 34 shows a block diagram illustrating embodiments of a SIS controller. In this embodiment, the SIS controller 3401 may serve to aggregate, process, store, search, serve, identify, instruct, generate, match, and/or facilitate interactions with a computer through various technologies, and/or other related data.


Typically, users, which may be people and/or other systems, may engage information technology systems (e.g., computers) to facilitate information processing. In turn, computers employ processors to process information; such processors 3403 may be referred to as central processing units (CPU). One form of processor is referred to as a microprocessor. CPUs use communicative circuits to pass binary encoded signals acting as instructions to enable various operations. These instructions may be operational and/or data instructions containing and/or referencing other instructions and data in various processor accessible and operable areas of memory 3429 (e.g., registers, cache memory, random access memory, etc.). Such communicative instructions may be stored and/or transmitted in batches (e.g., batches of instructions) as programs and/or data components to facilitate desired operations. These stored instruction codes, e.g., programs, may engage the CPU circuit components and other motherboard and/or system components to perform desired operations. One type of program is a computer operating system, which may be executed by CPU on a computer; the operating system enables and facilitates users to access and operate computer information technology and resources. Some resources that may be employed in information technology systems include: input and output mechanisms through which data may pass into and out of a computer; memory storage into which data may be saved; and processors by which information may be processed. These information technology systems may be used to collect data for later retrieval, analysis, and manipulation, which may be facilitated through a database program. These information technology systems provide interfaces that allow users to access and operate various system components.


In one embodiment, the SIS controller 3401 may be connected to and/or communicate with entities such as, but not limited to: one or more users from user input devices 3411; peripheral devices 3412; an optional cryptographic processor device 3428; and/or a communications network 3413.


Networks are commonly thought to comprise the interconnection and interoperation of clients, servers, and intermediary nodes in a graph topology. It should be noted that the term “server” as used throughout this application refers generally to a computer, other device, program, or combination thereof that processes and responds to the requests of remote users across a communications network. Servers serve their information to requesting “clients.” The term “client” as used herein refers generally to a computer, program, other device, user and/or combination thereof that is capable of processing and making requests and obtaining and processing any responses from servers across a communications network. A computer, other device, program, or combination thereof that facilitates, processes information and requests, and/or furthers the passage of information from a source user to a destination user is commonly referred to as a “node.” Networks are generally thought to facilitate the transfer of information from source points to destinations. A node specifically tasked with furthering the passage of information from a source to a destination is commonly called a “router.” There are many forms of networks such as Local Area Networks (LANs), Pico networks, Wide Area Networks (WANs), Wireless Networks (WLANs), etc. For example, the Internet is generally accepted as being an interconnection of a multitude of networks whereby remote clients and servers may access and interoperate with one another.


The SIS controller 3401 may be based on computer systems that may comprise, but are not limited to, components such as: a computer systemization 3402 connected to memory 3429.


Computer Systemization

A computer systemization 3402 may comprise a clock 3430, central processing unit (“CPU(s)” and/or “processor(s)” (these terms are used interchangeably throughout the disclosure unless noted to the contrary)) 3403, a memory 3429 (e.g., a read only memory (ROM) 3406, a random access memory (RAM) 3405, etc.), and/or an interface bus 3407, and most frequently, although not necessarily, are all interconnected and/or communicating through a system bus 3404 on one or more (mother)board(s) 3402 having conductive and/or otherwise transportive circuit pathways through which instructions (e.g., binary encoded signals) may travel to effectuate communications, operations, storage, etc. The computer systemization may be connected to a power source 3486; e.g., optionally the power source may be internal. Optionally, a cryptographic processor 3426 and/or transceivers (e.g., ICs) 3474 may be connected to the system bus. In another embodiment, the cryptographic processor and/or transceivers may be connected as either internal and/or external peripheral devices 3412 via the interface bus I/O. In turn, the transceivers may be connected to antenna(s) 3475, thereby effectuating wireless transmission and reception of various communication and/or sensor protocols; for example the antenna(s) may connect to: a Texas Instruments WiLink WL1283 transceiver chip (e.g., providing 802.11n, Bluetooth 3.0, FM, global positioning system (GPS) (thereby allowing SIS controller to determine its location)); Broadcom BCM4329FKUBG transceiver chip (e.g., providing 802.11n, Bluetooth 2.1+EDR, FM, etc.); a Broadcom BCM4750IUB8 receiver chip (e.g., GPS); an Infineon Technologies X-Gold 618-PMB9800 (e.g., providing 2G/3G HSDPA/HSUPA communications); and/or the like. The system clock typically has a crystal oscillator and generates a base signal through the computer systemization's circuit pathways. The clock is typically coupled to the system bus and various clock multipliers that will increase or decrease the base operating frequency for other components interconnected in the computer systemization. The clock and various components in a computer systemization drive signals embodying information throughout the system. Such transmission and reception of instructions embodying information throughout a computer systemization may be commonly referred to as communications. These communicative instructions may further be transmitted, received, and the cause of return and/or reply communications beyond the instant computer systemization to: communications networks, input devices, other computer systemizations, peripheral devices, and/or the like. It should be understood that in alternative embodiments, any of the above components may be connected directly to one another, connected to the CPU, and/or organized in numerous variations employed as exemplified by various computer systems.


The CPU comprises at least one high-speed data processor adequate to execute program components for executing user and/or system-generated requests. Often, the processors themselves will incorporate various specialized processing units, such as, but not limited to: integrated system (bus) controllers, memory management control units, floating point units, and even specialized processing sub-units like graphics processing units, digital signal processing units, and/or the like. Additionally, processors may include internal fast access addressable memory, and be capable of mapping and addressing memory 3429 beyond the processor itself; internal memory may include, but is not limited to: fast registers, various levels of cache memory (e.g., level 1, 2, 3, etc.), RAM, etc. The processor may access this memory through the use of a memory address space that is accessible via instruction address, which the processor can construct and decode allowing it to access a circuit path to a specific memory address space having a memory state. The CPU may be a microprocessor such as: AMD's Athlon, Duron and/or Opteron; ARM's application, embedded and secure processors; IBM and/or Motorola's DragonBall and PowerPC; IBM's and Sony's Cell processor; Intel's Celeron, Core (2) Duo, Itanium, Pentium, Xeon, and/or XScale; and/or the like processor(s). The CPU interacts with memory through instruction passing through conductive and/or transportive conduits (e.g., (printed) electronic and/or optic circuits) to execute stored instructions (i.e., program code) according to conventional data processing techniques. Such instruction passing facilitates communication within the SIS controller and beyond through various interfaces. Should processing requirements dictate a greater amount speed and/or capacity, distributed processors (e.g., Distributed SIS), mainframe, multi-core, parallel, and/or supercomputer architectures may similarly be employed. Alternatively, should deployment requirements dictate greater portability, smaller Personal Digital Assistants (PDAs) may be employed.


Depending on the particular implementation, features of the SIS may be achieved by implementing a microcontroller such as CAST's R8051XC2 microcontroller; Intel's MCS 51 (i.e., 8051 microcontroller); and/or the like. Also, to implement certain features of the SIS, some feature implementations may rely on embedded components, such as: Application-Specific Integrated Circuit (“ASIC”), Digital Signal Processing (“DSP”), Field Programmable Gate Array (“FPGA”), and/or the like embedded technology. For example, any of the SIS component collection (distributed or otherwise) and/or features may be implemented via the microprocessor and/or via embedded components; e.g., via ASIC, coprocessor, DSP, FPGA, and/or the like. Alternately, some implementations of the SIS may be implemented with embedded components that are configured and used to achieve a variety of features or signal processing.


Depending on the particular implementation, the embedded components may include software solutions, hardware solutions, and/or some combination of both hardware/software solutions. For example, SIS features discussed herein may be achieved through implementing FPGAs, which are semiconductor devices containing programmable logic components called “logic blocks”, and programmable interconnects, such as the high performance FPGA Virtex series and/or the low cost Spartan series manufactured by Xilinx. Logic blocks and interconnects can be programmed by the customer or designer, after the FPGA is manufactured, to implement any of the SIS features. A hierarchy of programmable interconnects allow logic blocks to be interconnected as needed by the SIS system designer/administrator, somewhat like a one-chip programmable breadboard. An FPGA's logic blocks can be programmed to perform the operation of basic logic gates such as AND, and XOR, or more complex combinational operators such as decoders or mathematical operations. In most FPGAs, the logic blocks also include memory elements, which may be circuit flip-flops or more complete blocks of memory. In some circumstances, the SIS may be developed on regular FPGAs and then migrated into a fixed version that more resembles ASIC implementations. Alternate or coordinating implementations may migrate SIS controller features to a final ASIC instead of or in addition to FPGAs. Depending on the implementation all of the aforementioned embedded components and microprocessors may be considered the “CPU” and/or “processor” for the SIS.


Power Source

The power source 3486 may be of any standard form for powering small electronic circuit board devices such as the following power cells: alkaline, lithium hydride, lithium ion, lithium polymer, nickel cadmium, solar cells, and/or the like. Other types of AC or DC power sources may be used as well. In the case of solar cells, in one embodiment, the case provides an aperture through which the solar cell may capture photonic energy. The power cell 3486 is connected to at least one of the interconnected subsequent components of the SIS thereby providing an electric current to all subsequent components. In one example, the power source 3486 is connected to the system bus component 3404. In an alternative embodiment, an outside power source 3486 is provided through a connection across the I/O 3408 interface. For example, a USB and/or IEEE 1394 connection carries both data and power across the connection and is therefore a suitable source of power.


Interface Adapters

Interface bus(ses) 3407 may accept, connect, and/or communicate to a number of interface adapters, conventionally although not necessarily in the form of adapter cards, such as but not limited to: input output interfaces (I/O) 3408, storage interfaces 3409, network interfaces 3410, and/or the like. Optionally, cryptographic processor interfaces 3427 similarly may be connected to the interface bus. The interface bus provides for the communications of interface adapters with one another as well as with other components of the computer systemization. Interface adapters are adapted for a compatible interface bus. Interface adapters conventionally connect to the interface bus via a slot architecture. Conventional slot architectures may be employed, such as, but not limited to: Accelerated Graphics Port (AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), PCI Express, Personal Computer Memory Card International Association (PCMCIA), and/or the like.


Storage interfaces 3409 may accept, communicate, and/or connect to a number of storage devices such as, but not limited to: storage devices 3414, removable disc devices, and/or the like. Storage interfaces may employ connection protocols such as, but not limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE), Institute of Electrical and Electronics Engineers (IEEE) 1394, fiber channel, Small Computer Systems Interface (SCSI), Universal Serial Bus (USB), and/or the like.


Network interfaces 3410 may accept, communicate, and/or connect to a communications network 3413. Through a communications network 3413, the SIS controller is accessible through remote clients 3433b (e.g., computers with web browsers) by users 3433a. Network interfaces may employ connection protocols such as, but not limited to: direct connect, Ethernet (thick, thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring, wireless connection such as IEEE 802.11a-x, and/or the like. Should processing requirements dictate a greater amount speed and/or capacity, distributed network controllers (e.g., Distributed SIS), architectures may similarly be employed to pool, load balance, and/or otherwise increase the communicative bandwidth required by the SIS controller. A communications network may be any one and/or the combination of the following: a direct interconnection; the Internet; a Local Area Network (LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodes on the Internet (OMNI); a secured custom connection; a Wide Area Network (WAN); a wireless network (e.g., employing protocols such as, but not limited to a Wireless Application Protocol (WAP), I-mode, and/or the like); and/or the like. A network interface may be regarded as a specialized form of an input output interface. Further, multiple network interfaces 3410 may be used to engage with various communications network types 3413. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and/or unicast networks.


Input Output interfaces (I/O) 3408 may accept, communicate, and/or connect to user input devices 3411, peripheral devices 3412, cryptographic processor devices 3428, and/or the like. I/O may employ connection protocols such as, but not limited to: audio: analog, digital, monaural, RCA, stereo, and/or the like; data: Apple Desktop Bus (ADB), IEEE I394a-b, serial, universal serial bus (USB); infrared; joystick; keyboard; midi; optical; PC AT; PS/2; parallel; radio; video interface: Apple Desktop Connector (ADC), BNC, coaxial, component, composite, digital, Digital Visual Interface (DVI), high-definition multimedia interface (HDMI), RCA, RF antennae, S-Video, VGA, and/or the like; wireless transceivers: 802.11a/b/g/n/x; Bluetooth; cellular (e.g., code division multiple access (CDMA), high speed packet access (HSPA(+)), high-speed downlink packet access (HSDPA), global system for mobile communications (GSM), long term evolution (LTE), WiMax, etc.); and/or the like. One typical output device may include a video display, which typically comprises a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) based monitor with an interface (e.g., DVI circuitry and cable) that accepts signals from a video interface, may be used. The video interface composites information generated by a computer systemization and generates video signals based on the composited information in a video memory frame. Another output device is a television set, which accepts signals from a video interface. Typically, the video interface provides the composited video information through a video connection interface that accepts a video display interface (e.g., an RCA composite video connector accepting an RCA composite video cable; a DVI connector accepting a DVI display cable, etc.).


User input devices 3411 often are a type of peripheral device 512 (see below) and may include: card readers, dongles, finger print readers, gloves, graphics tablets, joysticks, keyboards, microphones, mouse (mice), remote controls, retina readers, touch screens (e.g., capacitive, resistive, etc.), trackballs, trackpads, sensors (e.g., accelerometers, ambient light, GPS, gyroscopes, proximity, etc.), styluses, and/or the like.


Peripheral devices 3412 may be connected and/or communicate to I/O and/or other facilities of the like such as network interfaces, storage interfaces, directly to the interface bus, system bus, the CPU, and/or the like. Peripheral devices may be external, internal and/or part of the SIS controller. Peripheral devices may include: antenna, audio devices (e.g., line-in, line-out, microphone input, speakers, etc.), cameras (e.g., still, video, webcam, etc.), dongles (e.g., for copy protection, ensuring secure transactions with a digital signature, and/or the like), external processors (for added capabilities; e.g., crypto devices 528), force-feedback devices (e.g., vibrating motors), network interfaces, printers, scanners, storage devices, transceivers (e.g., cellular, GPS, etc.), video devices (e.g., goggles, monitors, etc.), video sources, visors, and/or the like. Peripheral devices often include types of input devices (e.g., cameras).


It should be noted that although user input devices and peripheral devices may be employed, the SIS controller may be embodied as an embedded, dedicated, and/or monitor-less (i.e., headless) device, wherein access would be provided over a network interface connection.


Cryptographic units such as, but not limited to, microcontrollers, processors 3426, interfaces 3427, and/or devices 3428 may be attached, and/or communicate with the SIS controller. A MC68HC16 microcontroller, manufactured by Motorola Inc., may be used for and/or within cryptographic units. The MC68HC16 microcontroller utilizes a 16-bit multiply-and-accumulate instruction in the 16 MHz configuration and requires less than one second to perform a 512-bit RSA private key operation. Cryptographic units support the authentication of communications from interacting agents, as well as allowing for anonymous transactions. Cryptographic units may also be configured as part of the CPU. Equivalent microcontrollers and/or processors may also be used. Other commercially available specialized cryptographic processors include: Broadcom's CryptoNetX and other Security Processors; nCipher's nShield; SafeNet's Luna PCI (e.g., 7100) series; Semaphore Communications' 40 MHz Roadrunner 184; Sun's Cryptographic Accelerators (e.g., Accelerator 6000 PCIe Board, Accelerator 500 Daughtercard); Via Nano Processor (e.g., L2100, L2200, U2400) line, which is capable of performing 500+MB/s of cryptographic instructions; VLSI Technology's 33 MHz 6868; and/or the like.


Memory

Generally, any mechanization and/or embodiment allowing a processor to affect the storage and/or retrieval of information is regarded as memory 3429. However, memory is a fungible technology and resource, thus, any number of memory embodiments may be employed in lieu of or in concert with one another. It is to be understood that the SIS controller and/or a computer systemization may employ various forms of memory 3429. For example, a computer systemization may be configured wherein the operation of on-chip CPU memory (e.g., registers), RAM, ROM, and any other storage devices are provided by a paper punch tape or paper punch card mechanism; however, such an embodiment would result in an extremely slow rate of operation. In a typical configuration, memory 3429 will include ROM 3406, RAM 3405, and a storage device 3414. A storage device 3414 may be any conventional computer system storage. Storage devices may include a drum; a (fixed and/or removable) magnetic disk drive; a magneto-optical drive; an optical drive (i.e., Blueray, CD ROM/RAM/Recordable (R)/ReWritable (RW), DVD R/RW, HD DVD R/RW etc.); an array of devices (e.g., Redundant Array of Independent Disks (RAID)); solid state memory devices (USB memory, solid state drives (SSD), etc.); other processor-readable storage mediums; and/or other devices of the like. Thus, a computer systemization generally requires and makes use of memory.


Component Collection

The memory 3429 may contain a collection of program and/or database components and/or data such as, but not limited to: operating system component(s) 3415 (operating system); information server component(s) 3416 (information server); user interface component(s) 3417 (user interface); Web browser component(s) 3418 (Web browser); database(s) 3419; mail server component(s) 3421; mail client component(s) 3422; cryptographic server component(s) 3420 (cryptographic server); the SIS component(s) 3435; SRA 3441, CTE 3442, TDA 3443, SDA 3444, VASE 3445, DPR 3446, ETC 3447, CEC 3448, EAA 3449, EPGU 3450, STG 3451, MA 3452, UBPA 3453, UPI 3454, TDN 3455, CTC 3456, TDF 3457, CDA 3458, ESA 3459, BAR 3460, AMS 3461, ADRN 3462, EXC 3463, CRA 3464, PPR 3465, PVE 3466, RIR 3467, ULEP 3468, Transaction Authorization 3469, Registration 3470, Advertisement Trigger 3471, Predictive Shopping List Generator Component 3472, Receipt Processing Component 3473, External Receipt Retrieval Component 3474, Checkout Scan Processing Component 3475, Snap Purchase Processing Component 3476, Smart Cart Checkout Processing Component 3477, Feedback Processing Component 3478, Merchant Proximity Component 3479, Automated Shopping Item Availability AAP Component 3480; and/or the like (i.e., collectively a component collection). These components may be stored and accessed from the storage devices and/or from storage devices accessible through an interface bus. Although non-conventional program components such as those in the component collection, typically, are stored in a local storage device 3414, they may also be loaded and/or stored in memory such as: peripheral devices, RAM, remote storage facilities through a communications network, ROM, various forms of memory, and/or the like.


Operating System

The operating system component 3415 is an executable program component facilitating the operation of the SIS controller. Typically, the operating system facilitates access of I/O, network interfaces, peripheral devices, storage devices, and/or the like. The operating system may be a highly fault tolerant, scalable, and secure system such as: Apple Macintosh OS X (Server); AT&T Plan 9; Be OS; Unix and Unix-like system distributions (such as AT&T's UNIX; Berkley Software Distribution (BSD) variations such as FreeBSD, NetBSD, OpenBSD, and/or the like; Linux distributions such as Red Hat, Ubuntu, and/or the like); and/or the like operating systems. However, more limited and/or less secure operating systems also may be employed such as Apple Macintosh OS, IBM OS/2, Microsoft DOS, Microsoft Windows 2000/2003/3.i/95/98/CE/Millenium/NT/Vista/XP/Win7 (Server), Palm OS, and/or the like. An operating system may communicate to and/or with other components in a component collection, including itself, and/or the like. Most frequently, the operating system communicates with other program components, user interfaces, and/or the like. For example, the operating system may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. The operating system, once executed by the CPU, may enable the interaction with communications networks, data, I/O, peripheral devices, program components, memory, user input devices, and/or the like. The operating system may provide communications protocols that allow the SIS controller to communicate with other entities through a communications network 3413. Various communication protocols may be used by the SIS controller as a subcarrier transport mechanism for interaction, such as, but not limited to: multicast, TCP/IP, UDP, unicast, and/or the like.


Information Server

An information server component 3416 is a stored program component that is executed by a CPU. The information server may be a conventional Internet information server such as, but not limited to Apache Software Foundation's Apache, Microsoft's Internet Information Server, and/or the like. The information server may allow for the execution of program components through facilities such as Active Server Page (ASP), ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, Common Gateway Interface (CGI) scripts, dynamic (D) hypertext markup language (HTML), FLASH, Java, JavaScript, Practical Extraction Report Language (PERL), Hypertext Pre-Processor (PHP), pipes, Python, wireless application protocol (WAP), WebObjects, and/or the like. The information server may support secure communications protocols such as, but not limited to, File Transfer Protocol (FTP); HyperText Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS), Secure Socket Layer (SSL), messaging protocols (e.g., America Online (AOL) Instant Messenger (AIM), Application Exchange (APEX), ICQ, Internet Relay Chat (IRC), Microsoft Network (MSN) Messenger Service, Presence and Instant Messaging Protocol (PRIM), Internet Engineering Task Force's (IETF's) Session Initiation Protocol (SIP), SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE), open XML-based Extensible Messaging and Presence Protocol (XMPP) (i.e., Jabber or Open Mobile Alliance's (OMA's) Instant Messaging and Presence Service (IMPS)), Yahoo! Instant Messenger Service, and/or the like. The information server provides results in the form of Web pages to Web browsers, and allows for the manipulated generation of the Web pages through interaction with other program components. After a Domain Name System (DNS) resolution portion of an HTTP request is resolved to a particular information server, the information server resolves requests for information at specified locations on the SIS controller based on the remainder of the HTTP request. For example, a request such as http://123.124.125.126/myInformation.html might have the IP portion of the request “123.124.125.126” resolved by a DNS server to an information server at that IP address; that information server might in turn further parse the http request for the “/mylnformation.html” portion of the request and resolve it to a location in memory containing the information “mylnformation.html.” Additionally, other information serving protocols may be employed across various ports, e.g., FTP communications across port 21, and/or the like. An information server may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the information server communicates with the SIS database 3419, operating systems, other program components, user interfaces, Web browsers, and/or the like.


Access to the SIS database may be achieved through a number of database bridge mechanisms such as through scripting languages as enumerated below (e.g., CGI) and through inter-application communication channels as enumerated below (e.g., CORBA, WebObjects, etc.). Any data requests through a Web browser are parsed through the bridge mechanism into appropriate grammars as required by the SIS. In one embodiment, the information server would provide a Web form accessible by a Web browser. Entries made into supplied fields in the Web form are tagged as having been entered into the particular fields, and parsed as such. The entered terms are then passed along with the field tags, which act to instruct the parser to generate queries directed to appropriate tables and/or fields. In one embodiment, the parser may generate queries in standard SQL by instantiating a search string with the proper join/select commands based on the tagged text entries, wherein the resulting command is provided over the bridge mechanism to the SIS as a query. Upon generating query results from the query, the results are passed over the bridge mechanism, and may be parsed for formatting and generation of a new results Web page by the bridge mechanism. Such a new results Web page is then provided to the information server, which may supply it to the requesting Web browser.


Also, an information server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.


User Interface

Computer interfaces in some respects are similar to automobile operation interfaces. Automobile operation interface elements such as steering wheels, gearshifts, and speedometers facilitate the access, operation, and display of automobile resources, and status. Computer interaction interface elements such as check boxes, cursors, menus, scrollers, and windows (collectively and commonly referred to as widgets) similarly facilitate the access, capabilities, operation, and display of data and computer hardware and operating system resources, and status. Operation interfaces are commonly called user interfaces. Graphical user interfaces (GUIs) such as the Apple Macintosh Operating System's Aqua, IBM's OS/2, Microsoft's Windows 2000/2003/3.1/qs/qS/CE/Millenium/NT/XP/Vista/7 (i.e., Aero), Unix's X-Windows (e.g., which may include additional Unix graphic interface libraries and layers such as K Desktop Environment (KDE), mythTV and GNU Network Object Model Environment (GNOME)), web interface libraries (e.g., ActiveX, AJAX, (D)HTML, FLASH, Java, JavaScript, etc. interface libraries such as, but not limited to, Dojo, jQuery UI, MooTools, Prototype, script.aculo.us, SWFObject, Yahoo! User Interface, any of which may be used and provide a baseline and means of accessing and displaying information graphically to users.


A user interface component 3417 is a stored program component that is executed by a CPU. The user interface may be a conventional graphic user interface as provided by, with, and/or atop operating systems and/or operating environments such as already discussed. The user interface may allow for the display, execution, interaction, manipulation, and/or operation of program components and/or system facilities through textual and/or graphical facilities. The user interface provides a facility through which users may affect, interact, and/or operate a computer system. A user interface may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the user interface communicates with operating systems, other program components, and/or the like. The user interface may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.


Web Browser

A Web browser component 3418 is a stored program component that is executed by a CPU. The Web browser may be a conventional hypertext viewing application such as Microsoft Internet Explorer or Netscape Navigator. Secure Web browsing may be supplied with I28 bit (or greater) encryption by way of HTTPS, SSL, and/or the like. Web browsers allowing for the execution of program components through facilities such as ActiveX, AJAX, (D)HTML, FLASH, Java, JavaScript, web browser plug-in APIs (e.g., Firefox, Safari Plug-in, and/or the like APIs), and/or the like. Web browsers and like information access tools may be integrated into PDAs, cellular telephones, and/or other mobile devices. A Web browser may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the Web browser communicates with information servers, operating systems, integrated program components (e.g., plug-ins), and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses. Also, in place of a Web browser and information server, a combined application may be developed to perform similar operations of both. The combined application would similarly affect the obtaining and the provision of information to users, user agents, and/or the like from the SIS enabled nodes. The combined application may be nugatory on systems employing standard Web browsers.


Mail Server

A mail server component 3421 is a stored program component that is executed by a CPU 3403. The mail server may be a conventional Internet mail server such as, but not limited to sendmail, Microsoft Exchange, and/or the like. The mail server may allow for the execution of program components through facilities such as ASP, ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, CGI scripts, Java, JavaScript, PERL, PHP, pipes, Python, WebObjects, and/or the like. The mail server may support communications protocols such as, but not limited to: Internet message access protocol (IMAP), Messaging Application Programming Interface (MAPI)/Microsoft Exchange, post office protocol (POP3), simple mail transfer protocol (SMTP), and/or the like. The mail server can route, forward, and process incoming and outgoing mail messages that have been sent, relayed and/or otherwise traversing through and/or to the SIS.


Access to the SIS mail may be achieved through a number of APIs offered by the individual Web server components and/or the operating system.


Also, a mail server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses.


Mail Client

A mail client component 3422 is a stored program component that is executed by a CPU 3403. The mail client may be a conventional mail viewing application such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Microsoft Outlook Express, Mozilla, Thunderbird, and/or the like. Mail clients may support a number of transfer protocols, such as: IMAP, Microsoft Exchange, POP3, SMTP, and/or the like. A mail client may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the mail client communicates with mail servers, operating systems, other mail clients, and/or the like; e.g., it may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses. Generally, the mail client provides a facility to compose and transmit electronic mail messages.


Cryptographic Server

A cryptographic server component 3420 is a stored program component that is executed by a CPU 3403, cryptographic processor 3426, cryptographic processor interface 3427, cryptographic processor device 3428, and/or the like. Cryptographic processor interfaces will allow for expedition of encryption and/or decryption requests by the cryptographic component; however, the cryptographic component, alternatively, may run on a conventional CPU. The cryptographic component allows for the encryption and/or decryption of provided data. The cryptographic component allows for both symmetric and asymmetric (e.g., Pretty Good Protection (PGP)) encryption and/or decryption. The cryptographic component may employ cryptographic techniques such as, but not limited to: digital certificates (e.g., X.509 authentication framework), digital signatures, dual signatures, enveloping, password access protection, public key management, and/or the like. The cryptographic component will facilitate numerous (encryption and/or decryption) security protocols such as, but not limited to: checksum, Data Encryption Standard (DES), Elliptical Curve Encryption (ECC), International Data Encryption Algorithm (IDEA), Message Digest 5 (MD5, which is a one way hash operation), passwords, Rivest Cipher (RC5), Rijndael, RSA (which is an Internet encryption and authentication system that uses an algorithm developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman), Secure Hash Algorithm (SHA), Secure Socket Layer (SSL), Secure Hypertext Transfer Protocol (HTTPS), and/or the like. Employing such encryption security protocols, the SIS may encrypt all incoming and/or outgoing communications and may serve as node within a virtual private network (VPN) with a wider communications network. The cryptographic component facilitates the process of “security authorization” whereby access to a resource is inhibited by a security protocol wherein the cryptographic component effects authorized access to the secured resource. In addition, the cryptographic component may provide unique identifiers of content, e.g., employing and MD5 hash to obtain a unique signature for a digital audio file. A cryptographic component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. The cryptographic component supports encryption schemes allowing for the secure transmission of information across a communications network to enable the SIS component to engage in secure transactions if so desired. The cryptographic component facilitates the secure accessing of resources on the SIS and facilitates the access of secured resources on remote systems; i.e., it may act as a client and/or server of secured resources. Most frequently, the cryptographic component communicates with information servers, operating systems, other program components, and/or the like. The cryptographic component may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.


The SIS Database

The SIS database component 3419 may be embodied in a database and its stored data. The database is a stored program component, which is executed by the CPU; the stored program component portion configuring the CPU to process the stored data. The database may be a conventional, fault tolerant, relational, scalable, secure database such as Oracle or Sybase. Relational databases are an extension of a flat file. Relational databases consist of a series of related tables. The tables are interconnected via a key field. Use of the key field allows the combination of the tables by indexing against the key field; i.e., the key fields act as dimensional pivot points for combining information from various tables. Relationships generally identify links maintained between tables by matching primary keys. Primary keys represent fields that uniquely identify the rows of a table in a relational database. More precisely, they uniquely identify rows of a table on the “one” side of a one-to-many relationship.


Alternatively, the SIS database may be implemented using various standard data-structures, such as an array, hash, (linked) list, struct, structured text file (e.g., XML), table, and/or the like. Such data-structures may be stored in memory and/or in (structured) files. In another alternative, an object-oriented database may be used, such as Frontier, ObjectStore, Poet, Zope, and/or the like. Object databases can include a number of object collections that are grouped and/or linked together by common attributes; they may be related to other object collections by some common attributes. Object-oriented databases perform similarly to relational databases with the exception that objects are not just pieces of data but may have other types of capabilities encapsulated within a given object. If the SIS database is implemented as a data-structure, the use of the SIS database 3419 may be integrated into another component such as the SIS component 3435. Also, the database may be implemented as a mix of data structures, objects, and relational structures. Databases may be consolidated and/or distributed in countless variations through standard data processing techniques. Portions of databases, e.g., tables, may be exported and/or imported and thus decentralized and/or integrated.


In one embodiment, the database component 3419 includes several tables 3419a-11. A Users table 3419a may include fields such as, but not limited to: user_id, ssn, dob, first_name, last_name, age, state, address_firstline, address_secondline, zipcode, devices_list, contact_info, contact_type, alt_contact_info, alt_contact_type, user_shopping_lists, user_product_frequency_hash, and/or the like. The Users table may support and/or track multiple entity accounts on a SIS. A Devices table 3419b may include fields such as, but not limited to: device_id, user_id, client_ip, client_type, client_model, operating_system, os_version, app_installed_flag, device_GPS, device_MAC, device_serial, device_ECID, device_UDID, device_browser, device_apps_list, device_securekey, and/or the like. An Apps table 3419c may include fields such as, but not limited to: app_id, app_name, app_type, OS_compatibilities_list, version, timestamp, developer_id, and/or the like. An Accounts table 3419d may include fields such as, but not limited to: account_id, account_firstname, account_lastname, account_type, account_num, account_balance_list, billingaddress_line1, billingaddress_line2, billing_zipcode, billing_state, shipping_preferences, shippingaddress_line1, shippingaddress_line2, shipping_zipcode, shipping_state, and/or the like. A Merchants table 3419e may include fields such as, but not limited to: merchant_id, merchant_name, provi merchant_address, ip_address, mac_address, auth_key, port_num, security_settings_list, merchant_store_injection_package, merchant_email, merchant_products, and/or the like. An Issuers table 3419f may include fields such as, but not limited to: issuer_id, issuer_name, issuer_address, ip_address, mac_address, auth_key, port_num, security_settings_list, and/or the like. An Acquirers table 3419g may include fields such as, but not limited to: acquirer_id, account_firstname, account_lastname, account_type, account_num, account_balance_list, billingaddress_line1, billingaddress_line2, billing_zipcode, billing_state, shipping_preferences, shippingaddress_line1, shippingaddress_line2, shipping_zipcode, shipping_state, and/or the like. A Gateways table 3419h may include fields such as, but not limited to: gateway_id, gateway_name, merchant_id, issuer_id, acquirer_id, user_id, and/or the like. A Transactions table 3419i may include fields such as, but not limited to: transaction_id, order_id, user_id, timestamp, transaction_cost, purchase_details_list, num_products, products_list, product_type, product_params_list, product_title, product_summary, quantity, user_id, client_id, client_ip, client_type, client_model, operating_system, os_version, app_installed_flag, user_id, account_firstname, account_lastname, account_type, account_num, billingaddress_liner, billingaddress_line2, billing_zipcode, billing_state, shipping_preferences, shippingaddress_line1, shippingaddress_line2, shipping_zipcode, shipping_state, merchant_id, merchant_name, merchant_auth_key, and/or the like. A Batches table 3419j may include fields such as, but not limited to: batch_id, parent_batch_id, transaction_id, account_id, user_id, app_id, batch_rules, and/or the like. A Ledgers table 3419k may include fields such as, but not limited to: ledger_id, transaction_id, user_id, merchant_id, issuer_id, acquirer_id, aggregation_id, ledger_name, ledger_value, and/or the like. A Products table 34191 may include fields such as, but not limited to: product_id, product_name, sku, price, inventory_level, stores_carrying, unit_of_measure, product_attributes_list, tax_info_list, related_products_list, offers_list, discounts_list, rewards_list, merchants_list, merchant_availability_list, product_weight, product_brand, product_aisle, product_shelf, product_note, product_expiration_date, product_code, product_lot_id, and/or the like. A Offers table 3419m may include fields such as, but not limited to: offer_id, merchant_id, offered_to_user_id, offer_type, offer_description, start_date, end_date, num_times_redeemed, offer_attributes_list, offer_price, offer_expiry, related_products_list, discounts_list, rewards_list, merchants_list, merchant_availability_list, and/or the like. A Behavior table 3419n may include fields such as, but not limited to: behavior_id, user_id, behavior_description, behavior_type, behavior_value, date_time_behavior, activity_type, activity_location, activity_attribute_list, activity_attribute_values_list, and/or the like. An Analytics table 34190 may include fields such as, but not limited to: analytics_id, batch_id, user_id, transaction_id, generated_graph, generated_results_set, generated_results_set_json, input_data_set, date_time_generated, report_type, report_algorithm_id, report_destination_address, and/or the like. A Market Data table 3419p may include fields such as, but not limited to: market_data_id, index_name, index_value, last_updated_index_datetime, asset_id, asset_symbol, asset_name, spot_price, bid_price, ask_price, and/or the like. An Input Languages table 3419q may include fields such as, but not limited to: input_language_id, fimction_name, function_definition, parent_input_language_id, mesh_language_id, user_id, tumbler_id, aggregation_id, and/or the like. A Mesh Language table 3419r may include fields such as, but not limited to: mesh_language_id, operation_name, operation_min_test_case, operation_max_test_case, operation_custom_test_case, mesh_language_version, mesh_language_updated_date, and/or the like. A Tumblars table 3419s may include fields such as, but not limited to: tumbler_id, user_visible_model_commands, non_user_visible_model_commands, input_key, output_key, and/or the like. An Aggregation table 3419t may include fields such as, but not limited to: aggregation_id, aggregation_data_source, key, value, parent_aggregation_id, and/or the like. A Category table 3419u may include fields such as, but not limited to: category_id, mesh_id, user_id, category_name, category_type, entity_name, is_present in mesh, and/or the like. A Mesh table 3419v may include fields such as, but not limited to: mesh_id, mesh_node, mesh_node_value, mesh_edge, mesh_edge_value, mesh_link, mesh_link_value, attributes, tags, keywords, and/or the like. A Price Trends table 3419w may include fields such as, but not limited to: price_trends_id, merchant_id, date_price_observed, number_observations, observed_price, next_check_date, inventory_quantity, and/or the like. A Revenue Share Formulas table 3419x may include fields such as, but not limited to: revenue_share_id, merchant_id, share_percentage, associated_merchant_id, account_id, and/or the like. A Interactions table 3419y may include fields such as, but not limited to: interaction_id, interaction_type, interaction_name, device_type, user_type, and/or the like. A Product Placements table 3419z may include fields such as, but not limited to: product_placement_id, product_id, merchant_id, placement_location, store_location, injection_id, and/or the like. An Engagements table 3419aa may include fields such as, but not limited to: engagement_id, engagement_type, user_id, start_time, duration, and/or the like. An Injection Content table 3419bb may include fields such as, but not limited to: injection_id, injection_type, merchant_id, product_id, interaction_id, injection_permissions, and/or the like. An ads table 3419cc may include fields such as, but not limited to: ad_id, ad_name, ad_template, ad_data, ad_product_id, ad_merchant_id ad_complementary_product_id, ad_complementary_merchant_id, and/or the like. A correlation rule table 3419dd may include fields such as, but not limited to: rule_id, rule_name, rule_sponsor, rule_merchant_id, rule_product_id, rule_termination, rule_period, rule fee_percentage, rule_weekly_purchase, rule_purchase_interval, rule_event, and/or the like. A shopping list table 3419ee includes fields such as, but not limited to: shopping_list_id, shopping_list_name, shopping_list_products, shopping_list_date_created, and/or the like. A receipts table 3419ff includes fields such as, but not limited to: receipts_id, receipts_merchant_id, receipts_user_id, receipts_date_generated, recepts_products, receipts_trans_total, receipts_original, receipts_orig_source, and/or the like. A feedback table 3419gg includes fields such as, but not limited to: feedback_id, feedback_product_id, feedback_user_id, feedback_rating, feedback_comment, feedback_image, and/or the like. A product history table 3419hh includes fields such as, but not limited to: ph_id, ph_products, ph_date_initiated, ph_user_id, and/or the like. A wallet table 3419ii includes fields such as, but not limited to: wallet_id, wallet_user_id, wallet_user_password, wallet_user_username, wallet_type, and/or the like. A Shop Sessions table 3419jj may include fields such as, but not limited to: user_id, session_id, alerts_URL, timestamp, expiry_lapse, merchant_id, store_id, device_type, device_id, device_IP, device_MAC, device_browser, device_serial, device_ECID, device_model, device_OS, wallet_app_installed, total_cost, cart_id_list, product_params_list, social_flag, social_message, social_networks_list, coupon_lists, accounts_list, CW2_lists, charge_ratio_list, charge_priority_list, value_exchange_symbols_list, bill_address, ship_address, cloak_flag, pay_mode, alerts_rules_list, and/or the like. An automated shopping lists data table 3419kk may include fields such as, but not limited to: automated_shopping_list_id, user_id, list_items, last_updated_lists, devices_authorized, users_authorized, groups_authorized, and/or the like. A merchant shopping devices table 3419ll may include fields such as, but not limited to: merchant_shopping_device_id, merchant_id, device_model, devices_can_be_paired_with, device_capabilities, last_used_datetime, current_battery_power level, and/or the like.


In one embodiment, the SIS database may interact with other database systems. For example, employing a distributed database system, queries and data access by search SIS component may treat the combination of the SIS database, an integrated data security layer database as a single database entity.


In one embodiment, user programs may contain various user interface primitives, which may serve to update the SIS. Also, various accounts may require custom database tables depending upon the environments and the types of clients the SIS may need to serve. It should be noted that any unique fields may be designated as a key field throughout. In an alternative embodiment, these tables have been decentralized into their own databases and their respective database controllers (i.e., individual database controllers for each of the above tables). Employing standard data processing techniques, one may further distribute the databases over several computer systemizations and/or storage devices. Similarly, configurations of the decentralized database controllers may be varied by consolidating and/or distributing the various database components 3419a-ll. The SIS may be configured to keep track of various settings, inputs, and parameters via database controllers.


The SIS database may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the SIS database communicates with the SIS component, other program components, and/or the like. The database may contain, retain, and provide information regarding other nodes and data.


The SISs

The SIS component 3435 is a stored program component that is executed by a CPU. In one embodiment, the SIS component incorporates any and/or all combinations of the aspects of the SIS that were discussed in the previous figures. As such, the SIS affects accessing, obtaining and the provision of information, services, transactions, and/or the like across various communications networks. The features and embodiments of the SIS discussed herein increase network efficiency by reducing data transfer requirements the use of more efficient data structures and mechanisms for their transfer and storage. As a consequence, more data may be transferred in less time, and latencies with regard to transactions, are also reduced. In many cases, such reduction in storage, transfer time, bandwidth requirements, latencies, etc., will reduce the capacity and structural infrastructure requirements to support the SIS's features and facilities, and in many cases reduce the costs, energy consumption/requirements, and extend the life of SIS's underlying infrastructure; this has the added benefit of making the SIS more reliable. Similarly, many of the features and mechanisms are designed to be easier for users to use and access, thereby broadening the audience that may enjoy/employ and exploit the feature sets of the SIS; such ease of use also helps to increase the reliability of the SIS. In addition, the feature sets include heightened security as noted via the Cryptographic components 3420, 3426, 3428 and throughout, making access to the features and data more reliable and secure.


The SIS component may transform aggregated automated shopping lists inputs and user location data, and/or the like and use the SIS. In one embodiment, the SIS component 3435 takes inputs (e.g., such as aggregated data from various computer resources, automated shopping list input 204, aggregated automated shopping list update request 205, store injection package aggregation update request 211a-b, consumer location update 207, merchant location navigation request 212, and/or the like) etc., and transforms the inputs via various components (e.g., SRA 3441, CTE 3442, TDA 3443, SDA 3444, VASE 3445, DPR 3446, ETC 3447, CEC 3448, EAA 3449, EPGU 3450, STG 3451, MA 3452, UBPA 3453, UPI 3454, TDN 3455, CTC 3456, TDF 3457, CDA 3458, ESA 3459, BAR 3460, AMS 3461, ADRN 3462, EXC 3463, CRA 3464, PPR 3465, PVE 3466, RIR 3467, ULEP 3468, Transaction Authorization 3469, Registration 3470, Advertisement Trigger 3471, Predictive Shopping List Generator Component 3472, Receipt Processing Component 3473, External Receipt Retrieval Component 3474, Checkout Scan Processing Component 3475, Snap Purchase Processing Component 3476, Smart Cart Checkout Processing Component 3477, Feedback Processing Component 3478, Merchant Proximity Component 3479, Automated Shopping Item Availability AAP Component 3480 and/or the like), into outputs (e.g., updated entity profiles, social graphs, aggregated automated shopping availability message 209, merchant location navigation response 213, store injection package aggregation update response 212a-b, and/or the like).


The SIS component enabling access of information between nodes may be developed by employing standard development tools and languages such as, but not limited to: Apache components, Assembly, ActiveX, binary executables, (ANSI) (Objective-) C (++), C# and/or .NET, database adapters, CGI scripts, Java, JavaScript, mapping tools, procedural and object oriented development tools, PERL, PHP, Python, shell scripts, SQL commands, web application server extensions, web development environments and libraries (e.g., Microsoft's ActiveX; Adobe AIR, FLEX & FLASH; AJAX; (D)HTML; Dojo, Java; JavaScript; jQuery(UI); MooTools; Prototype; script.aculo.us; Simple Object Access Protocol (SOAP); SWFObject; Yahoo! User Interface; and/or the like), WebObjects, and/or the like. In one embodiment, the SIS server employs a cryptographic server to encrypt and decrypt communications. The SIS component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the SIS component communicates with the SIS database, operating systems, other program components, and/or the like. The SIS may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.


Distributed SISs

The structure and/or operation of any of the SIS node controller components may be combined, consolidated, and/or distributed in any number of ways to facilitate development and/or deployment. Similarly, the component collection may be combined in any number of ways to facilitate deployment and/or development. To accomplish this, one may integrate the components into a common code base or in a facility that can dynamically load the components on demand in an integrated fashion.


The component collection may be consolidated and/or distributed in countless variations through standard data processing and/or development techniques. Multiple instances of any one of the program components in the program component collection may be instantiated on a single node, and/or across numerous nodes to improve performance through load-balancing and/or data-processing techniques. Furthermore, single instances may also be distributed across multiple controllers and/or storage devices; e.g., databases. All program component instances and controllers working in concert may do so through standard data processing communication techniques.


The configuration of the SIS controller will depend on the context of system deployment. Factors such as, but not limited to, the budget, capacity, location, and/or use of the underlying hardware resources may affect deployment requirements and configuration. Regardless of if the configuration results in more consolidated and/or integrated program components, results in a more distributed series of program components, and/or results in some combination between a consolidated and distributed configuration, data may be communicated, obtained, and/or provided. Instances of components consolidated into a common code base from the program component collection may communicate, obtain, and/or provide data. This may be accomplished through intra-application data processing communication techniques such as, but not limited to: data referencing (e.g., pointers), internal messaging, object instance variable communication, shared memory space, variable passing, and/or the like.


If component collection components are discrete, separate, and/or external to one another, then communicating, obtaining, and/or providing data with and/or to other component components may be accomplished through inter-application data processing communication techniques such as, but not limited to: Application Program Interfaces (API) information passage; (distributed) Component Object Model ((D)COM), (Distributed) Object Linking and Embedding ((D)OLE), and/or the like), Common Object Request Broker Architecture (CORBA), Jini local and remote application program interfaces, JavaScript Object Notation (JSON), Remote Method Invocation (RMI), SOAP, process pipes, shared files, and/or the like. Messages sent between discrete component components for inter-application communication or within memory spaces of a singular component for intra-application communication may be facilitated through the creation and parsing of a grammar. A grammar may be developed by using development tools such as lex, yacc, XML, and/or the like, which allow for grammar generation and parsing capabilities, which in turn may form the basis of communication messages within and between components.


For example, a grammar may be arranged to recognize the tokens of an HTTP post command, e.g.:

    • w3c-post http:// . . . Value1


where Value1 is discerned as being a parameter because “http://” is part of the grammar syntax, and what follows is considered part of the post value. Similarly, with such a grammar, a variable “Value1” may be inserted into an “http://” post command and then sent. The grammar syntax itself may be presented as structured data that is interpreted and/or otherwise used to generate the parsing mechanism (e.g., a syntax description text file as processed by lex, yacc, etc.). Also, once the parsing mechanism is generated and/or instantiated, it itself may process and/or parse structured data such as, but not limited to: character (e.g., tab) delineated text, HTML, structured text streams, XML, and/or the like structured data. In another embodiment, inter-application data processing protocols themselves may have integrated and/or readily available parsers (e.g., JSON, SOAP, and/or like parsers) that may be employed to parse (e.g., communications) data. Further, the parsing grammar may be used beyond message parsing, but may also be used to parse: databases, data collections, data stores, structured data, and/or the like. Again, the desired configuration will depend upon the context, environment, and requirements of system deployment.


For example, in some implementations, the SIS controller may be executing a PHP script implementing a Secure Sockets Layer (“SSL”) socket server via the information server, which listens to incoming communications on a server port to which a client may send data, e.g., data encoded in JSON format. Upon identifying an incoming communication, the PHP script may read the incoming message from the client device, parse the received JSON-encoded text data to extract information from the JSON-encoded text data into PHP script variables, and store the data (e.g., client identifying information, etc.) and/or extracted information in a relational database accessible using the Structured Query Language (“SQL”). An exemplary listing, written substantially in the form of PHP/SQL commands, to accept JSON-encoded input data from a client device via a SSL connection, parse the data to extract variables, and store the data to a database, is provided below:














<?PHP


Header (‘Content-Type: text/plain’);


//set ip address and port to listen to for incoming data


$address= ‘192.168.0.100’;


$port = 255;


//create a server-side SSL socket, listen


//for/accept incoming communication


$sock = socket_create (AF_INET, SOCK_STREAM, 0);


socket_bind ($sock, $address, $port)









or die (‘Could not bind to address’);



socket_listen ($sock);







$client = socket_accept ($sock) ;


//read input data from client device in 1024 byte


//blocks until end of message


do {









$input = “ ”;



$input = socket_read ($client, 1024);



$data .= $input;







} while ($input != “ ”);


// parse data to extract variables


$obj = json_decode ($data, true);


// store input data in a database


mysql_connect (“10.1.1.1”, $srvr,$pass); // access database server


mysql_select (“CLIENTDB.SQL”); // select database to append


mysql_query (“INSERT INTO UserTable (transmission) VALUES


($data)”); // add data to UserTable table in a CLIENT database


Mysql_close (“CLIENT_DB.SQL”); // close connection to database


?>









Also, the following resources may be used to provide example embodiments regarding SOAP parser implementation:

    • http://www.xav.com/perl/site/lib/SOAP/Parser.html
    • http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?
    • topic=/com.ibm.IBMDI.doc/referenceguide295.htm


and other parser implementations:

    • http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?
    • topic=/com.ibm.IBMDI.doc/referenceguide259.htm


all of which are hereby expressly incorporated by reference.


Exemplary embodiments of an SIS may include:


1. A processor-implemented product placement revenue sharing method, comprising:


obtaining consumer activity information indicative of consumer informational exposure to a product;


receiving a plurality of indications of the consumer initiating a purchase transaction for the product and associated product purchase quantities;


determining a shopping cart automatic population lag time based on the received plurality of indications;


pre-populating the consumer's wallet based shopping cart with a quantity of the product when the shopping cart automatic population lag time is expiring;


receiving an indication that the consumer has purchased the pre-populated product; and


calculating a product placement revenue sharing percentage based on the obtained consumer activity information.


2. The method of embodiment 1, wherein the pre-populated quantity of the product is determined using the time between the plurality of indications of the consumer initiating a purchase transaction and the associated product purchase quantities.


3. The method of embodiment 1, wherein pre-populating the consumer's wallet based shopping cart is based on the consumer activity information.


4. The method of embodiment 3, wherein the consumer activity information is engaging with a product subject to premium store placement.


5. The method of embodiment 3, wherein the consumer activity information is an indication that the consumer spent greater than an amount of time interacting with the product in a physical store.


6. The method of embodiment 3, wherein the consumer activity information is an indication that the consumer spent greater than an amount of time interacting with a store clerk.


7. The method of embodiment 3, wherein the consumer activity information is an indication that the consumer read an online review of the product.


8. The method of embodiment 3, wherein the consumer activity information is an indication that the consumer performed a price comparison for the product.


9. The method of embodiment 3, wherein the consumer activity information is an indication that the consumer viewed photos of the product online.


In order to address various issues and advance the art, the entirety of this application for SIS (including the Cover Page, Title, Headings, Field, Background, Summary, Brief Description of the Drawings, Detailed Description, Claims, Abstract, Figures, Appendices, and otherwise) shows, by way of illustration, various embodiments in which the claimed innovations may be practiced. The advantages and features of the application are of a representative sample of embodiments only, and are not exhaustive and/or exclusive. They are presented only to assist in understanding and teach the claimed principles. It should be understood that they are not representative of all claimed innovations. As such, certain aspects of the disclosure have not been discussed herein. That alternate embodiments may not have been presented for a specific portion of the innovations or that further undescribed alternate embodiments may be available for a portion is not to be considered a disclaimer of those alternate embodiments. It will be appreciated that many of those undescribed embodiments incorporate the same principles of the innovations and others are equivalent. Thus, it is to be understood that other embodiments may be utilized and functional, logical, operational, organizational, structural and/or topological modifications may be made without departing from the scope and/or spirit of the disclosure. As such, all examples and/or embodiments are deemed to be non-limiting throughout this disclosure. Also, no inference should be drawn regarding those embodiments discussed herein relative to those not discussed herein other than it is as such for purposes of reducing space and repetition. For instance, it is to be understood that the logical and/or topological structure of any combination of any program components (a component collection), other components and/or any present feature sets as described in the figures and/or throughout are not limited to a fixed operating order and/or arrangement, but rather, any disclosed order is exemplary and all equivalents, regardless of order, are contemplated by the disclosure.


Furthermore, it is to be understood that such features are not limited to serial execution, but rather, any number of threads, processes, services, servers, and/or the like that may execute asynchronously, concurrently, in parallel, simultaneously, synchronously, and/or the like are contemplated by the disclosure. As such, some of these features may be mutually contradictory, in that they cannot be simultaneously present in a single embodiment. Similarly, some features are applicable to one aspect of the innovations, and inapplicable to others. In addition, the disclosure includes other innovations not presently claimed. Applicant reserves all rights in those presently unclaimed innovations including the right to claim such innovations, file additional applications, continuations, continuations in part, divisions, and/or the like thereof. As such, it should be understood that advantages, embodiments, examples, functional, features, logical, operational, organizational, structural, topological, and/or other aspects of the disclosure are not to be considered limitations on the disclosure as defined by the claims or limitations on equivalents to the claims. It is to be understood that, depending on the particular needs and/or characteristics of a SIS individual and/or enterprise user, database configuration and/or relational model, data type, data transmission and/or network framework, syntax structure, and/or the like, various embodiments of the SIS, may be implemented that enable a great deal of flexibility and customization. For example, aspects of the SIS may be adapted for restaurant dining, online shopping, brick-and-mortar shopping, secured information processing, and/or the like. While various embodiments and discussions of the SIS have been directed to electronic purchase transactions, however, it is to be understood that the embodiments described herein may be readily configured and/or customized for a wide variety of other applications and/or implementations.

Claims
  • 1. A smart shopping cart for accepting items to be purchased comprising: a processor that is physically configured according to computer executable instructions;an input output circuit in communication with the processor;a reader in communication with the input output circuit which reads an identification code of each item placed in the smart shopping cart associated with the merchant;a communication circuit which communicated with outside servers to receive updated prices and facilitate purchases;a memory in communication with the processor which stores the identification code of each item and related prices offered by the merchant and a store injection package for the merchant, which includes the merchant's inventory;wherein the computer executable instructions comprise instruction for: connecting with a mobile wallet for a consumer, wherein the mobile wallet comprises one or more payment accounts;receiving a copy of the consumer's shopping list containing one or more items;parsing the store injection package to determine if the one or more items are available at the merchant;determining that at least one item in the consumer's shopping list is unavailable in the merchant's inventory;in response to the determination that the at least one item in the consumer's shopping list is unavailable, receiving a second store injection package for a second merchant based on the consumer's location, wherein the second store injection package includes the second merchant's inventory;determining that the at least one item is available in the second merchant's inventory; andproviding a notification to a device of the consumer that the at least one item is available at the second merchant;determining that a consumer is ready to pay for the items in the smart shopping cart;determining a total price of the items in the smart shopping cart;presenting the one or more payment accounts in the mobile wallet to be used to purchase the items in the smart shopping cart;in response to a selection of a payment account from the one or more payment accounts in the mobile wallet, receiving a purchase request from the mobile wallet for the items in the smart shopping cart;communicating the purchase request to a mobile wallet payment system;in response to the purchase request being approved, indicating that a payment transaction is complete.
  • 2. The smart shopping cart of claim 1, wherein determining the total price of the items in the smart shopping cart comprises: receiving the identification code of each item;retrieving the price related to the received identification code for each item;totaling the prices of the items; andadding in any taxes applicable to each item.
  • 3. The smart shopping cart of claim 1, wherein the identification code is received through an RF receiver.
  • 4. The smart shopping cart of claim 1, wherein the identification code is a barcode, QR code, NFC tag, or RFID tag.
  • 5. The smart shopping cart of claim 4, wherein the reader is a barcode reader or a QR code reader.
  • 6. The smart shopping cart of claim 1, wherein the mobile wallet displays the plurality of payment accounts.
  • 7. The smart shopping cart of claim 1, wherein the smart shopping cart creates at least one of indications of: payment in process;payment denied; andpayment successful.
  • 8. The smart shopping cart of claim 1, wherein the input output circuit communicates with an input device which accepts inputs from a user.
  • 9. The smart shopping cart of claim 8, wherein the inputs comprise letters and numbers representing a user name and a user password.
  • 10. The smart shopping cart of claim 8 wherein the inputs comprise an electronic signal from a computing device controlled by the user.
  • 11. The smart shopping cart of claim 1, wherein the processor communicates with a portable computing device of the consumer having a memory.
  • 12. The smart shopping cart of claim 11, wherein the processor accesses discounts for one or more items on a shopping list stored in the memory of the portable computing device.
  • 13. The smart shopping cart of claim 1, wherein the processor analyzes the consumer's shopping list and directs the consumer to a location in a merchant location to access the items in the consumer's shopping list.
  • 14. The smart shopping cart of claim 1, wherein the processor analyzes the consumer's shopping list and determines a best path to each item in the consumer's shopping list available in a merchant location.
  • 15. The smart shopping cart of claim 14, wherein the processor generates an interactive map to each item on the consumer's shopping list available at the merchant location.
  • 16. The smart shopping cart of claim 15, wherein the interactive map is sent to a portable computing device of the consumer.
  • 17. The smart shopping cart of claim 1, wherein the computer executable instructions comprise further instruction for: receiving feedback on one or more items on the consumer's shopping list, wherein the feedback includes a ranking for an item on the consumer's shopping list,receiving a threshold for the feedback; andcomparing the ranking for the item to the threshold, wherein the item is removed from the consumer's shopping list if the ranking for the item is below the threshold.
  • 18. The smart shopping cart of claim 17, wherein the threshold is received from the consumer.
  • 19. The smart shopping cart of claim 18, wherein the computer executable instructions comprise further instruction for: providing a link to the consumer's shopping list on a social networking website.
  • 20. The smart shopping cart of claim 19, wherein the feedback is received from users of the social networking website.
PRIORITY CLAIM

This application claims priority under 35 USC § 120 to U.S. patent application Ser. No. 14/242,403, filed Apr. 1, 2014, entitled “E-Wallet Store Injection Search Apparatuses, Methods and Systems,” which claims priority under 35 USC § 120 to U.S. patent application Ser. No. 13/542,443 filed Jul. 5, 2012, entitled “Electronic Wallet Checkout Platform Apparatuses, Methods And Systems” and U.S. patent application Ser. No. 13/520,481, filed Jul. 3, 2012, entitled “Universal Electronic Payment Apparatuses, Methods and Systems.” U.S. patent application Ser. No. 13/520,481 is a National Stage Entry entitled to, and hereby claims priority under 35 U.S.C. §§ 365, 371 to, Patent Cooperation Treaty International Application No. PCT/US12/26205, filed Feb. 22, 2012, entitled “Universal Electronic Payment Apparatuses, Methods And Systems,” which in turn claims priority under 35 USC § 119 to: U.S. Provisional Patent Application Ser. No. 61/545,971 filed Oct. 11, 2011, entitled “Universal Electronic Payment Apparatuses, Methods And Systems;” U.S. Provisional Patent Application Ser. No. 61/538,761 filed Sep. 23, 2011, entitled “Electronic Wallet Transaction Consumer Leash Apparatuses, Methods And Systems;” and, U.S. Provisional Patent Application Ser. No. 61/539,969 filed Sep. 27, 2011, entitled “Apparatuses, Methods, And Systems For Finding, Storing, And Applying Discounts For Use In An Electronic Transaction.” Patent Cooperation Treaty International Application No. PCT/US12/26205 is also a continuation-in-part of, and claims priority under 35 U.S.C. §§ 120, 365 to U.S. patent application Ser. No. 13/398,817 filed Feb. 16, 2012, entitled “Snap Mobile Payment Apparatuses, Methods And Systems” and U.S. patent application Ser. No. 13/348,634 filed Jan. 11, 2012, entitled “Universal Value Exchange Apparatuses, Methods And Systems.”

US Referenced Citations (1385)
Number Name Date Kind
789106 Seymour May 1905 A
4896363 Taylor Jan 1990 A
5177342 Adams Jan 1993 A
5221838 Gutman Jun 1993 A
5237164 Takada Aug 1993 A
5311594 Penzias May 1994 A
5383113 Kight Jan 1995 A
5384449 Peirce Jan 1995 A
5446890 Renslo Aug 1995 A
5459656 Fields Oct 1995 A
5500513 Langhans Mar 1996 A
5510777 Pilc Apr 1996 A
5521362 Powers May 1996 A
5526409 Conrow Jun 1996 A
5530438 Bickham Jun 1996 A
5536045 Adams Jul 1996 A
5590038 Pitroda Dec 1996 A
5613012 Hoffman Mar 1997 A
5615110 Wong Mar 1997 A
5615264 Kazmierczak Mar 1997 A
5621201 Langhans Apr 1997 A
5640193 Wellner Jun 1997 A
5649118 Carlisle Jul 1997 A
5655007 McAllister Aug 1997 A
5748737 Daggar May 1998 A
5781438 Lee Jul 1998 A
5796832 Kawan Aug 1998 A
5815657 Williams Sep 1998 A
5850446 Berger Dec 1998 A
5878337 Joao Mar 1999 A
5883810 Franklin Mar 1999 A
5884271 Pitroda Mar 1999 A
5892838 Brady Apr 1999 A
5903830 Joao May 1999 A
5914472 Foladare Jun 1999 A
5943624 Fox Aug 1999 A
5953710 Fleming Sep 1999 A
5956699 Wong Sep 1999 A
5963924 Williams Oct 1999 A
6000832 Franklin Dec 1999 A
6006200 Boies Dec 1999 A
6014635 Harris Jan 2000 A
6044360 Picciallo Mar 2000 A
6052675 Checchio Apr 2000 A
6064990 Goldsmith May 2000 A
6092053 Boesch Jul 2000 A
6160903 Hamid Dec 2000 A
6161130 Horvitz Dec 2000 A
6163771 Walker Dec 2000 A
6164533 Barton Dec 2000 A
6182894 Hackett Feb 2001 B1
6193155 Walker Feb 2001 B1
6195447 Ross Feb 2001 B1
6202052 Miller Mar 2001 B1
6202933 Poore Mar 2001 B1
6226624 Watson May 2001 B1
6227447 Campisano May 2001 B1
6236981 Hill May 2001 B1
6243688 Kalina Jun 2001 B1
6263447 French Jul 2001 B1
6267292 Walker Jul 2001 B1
6327578 Linehan Dec 2001 B1
6336099 Barnett Jan 2002 B1
6339766 Gephart Jan 2002 B1
6341724 Campisano Jan 2002 B2
6381584 Ogram Apr 2002 B1
6385596 Wiser May 2002 B1
6385655 Smith May 2002 B1
6422462 Cohen Jul 2002 B1
6425523 Shem-Ur Jul 2002 B1
6439345 Recktenwald Aug 2002 B1
6456984 Demoff Sep 2002 B1
6473500 Risafi Oct 2002 B1
6529725 Joao Mar 2003 B1
6535855 Cahill Mar 2003 B1
6560581 Fox May 2003 B1
6592044 Wong Jul 2003 B1
6601761 Katis Aug 2003 B1
6636833 Flitcroft Oct 2003 B1
6735572 Landesmann May 2004 B2
6748367 Lee Jun 2004 B1
6805287 Bishop Oct 2004 B2
6853982 Smith Feb 2005 B2
6857073 French Feb 2005 B2
6865522 Gastiger Mar 2005 B1
6873974 Schutzer Mar 2005 B1
6879965 Fung Apr 2005 B2
6891953 DeMello May 2005 B1
6898598 Himmel May 2005 B2
6901387 Wells May 2005 B2
6925439 Pitroda Aug 2005 B1
6931382 Laage Aug 2005 B2
6934528 Loureiro Aug 2005 B2
6938019 Uzo Aug 2005 B1
6941285 Sarcanin Sep 2005 B2
6944595 Graser Sep 2005 B1
6980670 Hoffman Dec 2005 B1
6990470 Hogan Jan 2006 B2
6991157 Bishop Jan 2006 B2
6999943 Johnson Feb 2006 B1
7024383 Mancini Apr 2006 B1
7028052 Chapman Apr 2006 B2
7047041 Vanska May 2006 B2
7051002 Keresman, III May 2006 B2
7051929 Li May 2006 B2
7069249 Stolfo Jun 2006 B2
7089208 Levchin Aug 2006 B1
7096003 Joao Aug 2006 B2
7103576 Mann Sep 2006 B2
7111789 Rajasekaran Sep 2006 B2
7113930 Eccles Sep 2006 B2
7117172 Black Oct 2006 B1
7136835 Flitcroft Nov 2006 B1
7155411 Blinn Dec 2006 B1
7156311 Attia Jan 2007 B2
7167903 Percival Jan 2007 B2
7177835 Walker Feb 2007 B1
7177848 Hogan Feb 2007 B2
7180457 Trott Feb 2007 B2
7194437 Britto Mar 2007 B1
7206847 Alberth Apr 2007 B1
7209561 Shankar Apr 2007 B1
7212979 Matz May 2007 B1
7228011 Queeno Jun 2007 B1
RE39736 Morrill Jul 2007 E
7264154 Harris Sep 2007 B2
7266557 Aschen Sep 2007 B2
7268667 Beenau Sep 2007 B2
7268668 Beenau Sep 2007 B2
7287692 Patel Oct 2007 B1
7290704 Ball Nov 2007 B1
7292999 Hobson Nov 2007 B2
7313546 Alarcon-Luther Dec 2007 B2
7318049 Iannacci Jan 2008 B2
7337119 Geschwender Feb 2008 B1
7337144 Blinn Feb 2008 B1
7343149 Benco Mar 2008 B2
7343351 Bishop Mar 2008 B1
7349885 Gangi Mar 2008 B2
7350230 Forrest Mar 2008 B2
7353382 Labrou Apr 2008 B2
7356505 March Apr 2008 B2
7357310 Calabrese Apr 2008 B2
7359880 Abel Apr 2008 B2
7373669 Eisen May 2008 B2
7379899 Junger May 2008 B1
7379919 Hogan May 2008 B2
7392222 Hamilton Jun 2008 B1
RE40444 Linehan Jul 2008 E
7395242 Blinn Jul 2008 B2
7398250 Blinn Jul 2008 B2
7413113 Zhu Aug 2008 B1
7415443 Hobson Aug 2008 B2
7415469 Singh Aug 2008 B2
7427021 Kemper Sep 2008 B2
7444676 Asghari-Kamrani Oct 2008 B1
7450966 Vanska Nov 2008 B2
7469151 Khan Dec 2008 B2
7477780 Boncyk Jan 2009 B2
7499889 Golan Mar 2009 B2
7500607 Williams Mar 2009 B2
7505935 Mendiola Mar 2009 B2
7533064 Boesch May 2009 B1
7536318 Wolfe May 2009 B1
7536335 Weston May 2009 B1
7536360 Stolfo May 2009 B2
7540012 Herzberg May 2009 B1
7548889 Bhambri Jun 2009 B2
7567934 Flitcroft Jul 2009 B2
7567936 Peckover Jul 2009 B1
7571139 Giordano Aug 2009 B1
7571140 Weichert Aug 2009 B2
7571142 Flitcroft Aug 2009 B1
7580898 Brown Aug 2009 B2
7584153 Brown Sep 2009 B2
7593858 Matz Sep 2009 B2
7593896 Flitcroft Sep 2009 B1
7603311 Yadav-ranjan Oct 2009 B1
7606560 Labrou Oct 2009 B2
7627531 Breck Dec 2009 B2
7627895 Gifford Dec 2009 B2
7630937 Mo Dec 2009 B1
7634295 Hayaashi Dec 2009 B2
7644037 Ostrovsky Jan 2010 B1
7644859 Zhu Jan 2010 B1
7650314 Saunders Jan 2010 B1
7660749 Koski Feb 2010 B2
7664733 Erol Feb 2010 B2
7668754 Bridgelall Feb 2010 B1
7669760 Zettner Mar 2010 B1
7676434 Evans Mar 2010 B2
7685037 Reiners Mar 2010 B2
7685067 Britto Mar 2010 B1
7698221 Blinn Apr 2010 B2
7702578 Fung Apr 2010 B2
7707113 Dimartino Apr 2010 B1
7707120 Dominguez Apr 2010 B2
7708194 Vawter May 2010 B2
7708198 Gangi May 2010 B2
7712655 Wong May 2010 B2
7712658 Gangi May 2010 B2
7720436 Hamynen May 2010 B2
7734527 Uzo Jun 2010 B2
7739194 Blinn Jun 2010 B2
7742984 Mohsenzadeh Jun 2010 B2
7753265 Harris Jul 2010 B2
7770789 Oder Aug 2010 B2
7774076 Skowronek Aug 2010 B2
7783569 Abel Aug 2010 B2
7784684 Labrou Aug 2010 B2
7784685 Hopkins Aug 2010 B1
7793851 Mullen Sep 2010 B2
7797215 Zerenner Sep 2010 B1
7801826 Labrou Sep 2010 B2
7801829 Gray Sep 2010 B2
7802719 Johnson Sep 2010 B2
7805376 Smith Sep 2010 B2
7805378 Berardi Sep 2010 B2
7810720 Lovett Oct 2010 B2
7818264 Hammad Oct 2010 B2
7819307 Lyons Oct 2010 B2
7827288 Da Nov 2010 B2
7828206 Hessburg Nov 2010 B2
7828220 Mullen Nov 2010 B2
7828992 Kilickiran Nov 2010 B2
7835960 Breck Nov 2010 B2
7837125 Biskupski Nov 2010 B2
7841523 Oder Nov 2010 B2
7841539 Hewton Nov 2010 B2
7844530 Ziade Nov 2010 B2
7844550 Walker Nov 2010 B2
7848980 Carlson Dec 2010 B2
7849014 Erikson Dec 2010 B2
7849020 Johnson Dec 2010 B2
7853529 Walker Dec 2010 B1
7853995 Chow Dec 2010 B2
7865414 Fung Jan 2011 B2
7870027 Tannenbaum Jan 2011 B1
7873579 Hobson Jan 2011 B2
7873580 Hobson Jan 2011 B2
7877299 Bui Jan 2011 B2
7878400 Harris Feb 2011 B2
7890370 Whitsitt Feb 2011 B2
7890393 Talbert Feb 2011 B2
7891563 Oder Feb 2011 B2
7895119 Praisner Feb 2011 B2
7896238 Fein Mar 2011 B2
7899744 Bishop Mar 2011 B2
7904360 Evans Mar 2011 B2
7908216 Davis Mar 2011 B1
7908227 Zizzimopoulos Mar 2011 B2
7922082 Muscato Apr 2011 B2
7926714 Zhu Apr 2011 B1
7931195 Mullen Apr 2011 B2
7933779 Rooks Apr 2011 B2
7937324 Patterson May 2011 B2
7938318 Fein May 2011 B2
7942337 Jain May 2011 B2
7954705 Mullen Jun 2011 B2
7959076 Hopkins Jun 2011 B1
7962418 Wei Jun 2011 B1
7963441 Emmons Jun 2011 B2
7967196 Bierbaum Jun 2011 B1
7971782 Shams Jul 2011 B1
7996259 Distefano, III Aug 2011 B1
7996288 Stolfo Aug 2011 B1
8016192 Messerges Sep 2011 B2
8020763 Kowalchyk Sep 2011 B1
8024260 Hogl Sep 2011 B1
8025223 Saunders Sep 2011 B2
8028041 Olliphant Sep 2011 B2
8032438 Barton Oct 2011 B1
8041338 Chen Oct 2011 B2
8046256 Chien Oct 2011 B2
8050997 Nosek Nov 2011 B1
8060413 Castell Nov 2011 B2
8060448 Jones Nov 2011 B2
8060449 Zhu Nov 2011 B1
8073565 Johnson Dec 2011 B2
8074876 Foss Dec 2011 B2
8074877 Mullen Dec 2011 B2
8074879 Harris Dec 2011 B2
8082210 Hansen Dec 2011 B2
8090351 Klein Jan 2012 B2
8095113 Kean Jan 2012 B2
8095602 Orbach Jan 2012 B1
8104679 Brown Jan 2012 B2
8108261 Carlier Jan 2012 B2
RE43157 Bishop Feb 2012 E
8109436 Hopkins Feb 2012 B1
8117127 Sanders Feb 2012 B1
8121942 Carlson Feb 2012 B2
8121956 Carlson Feb 2012 B2
8126449 Beenau Feb 2012 B2
8127982 Casey Mar 2012 B1
8131666 OBrien Mar 2012 B2
8140418 Casey Mar 2012 B1
8145188 Park Mar 2012 B2
8145561 Zhu Mar 2012 B1
8145566 Ahuja Mar 2012 B1
8145569 Gong Mar 2012 B2
8145898 Kamalakantha Mar 2012 B2
8150767 Wankmueller Apr 2012 B2
8150772 Mardikar Apr 2012 B2
8151328 Lundy Apr 2012 B1
8151330 Vishik Apr 2012 B2
8151336 Savoor Apr 2012 B2
8155999 De Boer Apr 2012 B2
8156000 Thompson Apr 2012 B1
8156026 Junger Apr 2012 B2
8156042 Winkleman, III Apr 2012 B2
8156549 Rice Apr 2012 B2
8157178 Dewan Apr 2012 B2
8157181 Bates Apr 2012 B2
8160935 Bui Apr 2012 B2
8160959 Rackley, III Apr 2012 B2
8165961 Dimartino Apr 2012 B1
8166068 Stevens Apr 2012 B2
RE43351 Jordan May 2012 E
8170921 Stocker May 2012 B2
8171525 Pelly May 2012 B1
8175235 Mumford May 2012 B2
8175965 Moore May 2012 B2
8175967 OLeary May 2012 B2
8175968 OLeary May 2012 B2
8175973 Davis May 2012 B2
8175975 Cai May 2012 B2
8175979 Baentsch May 2012 B2
8176416 Williams May 2012 B1
8176554 Kennedy May 2012 B1
8179563 King May 2012 B2
8180289 Glickman May 2012 B1
8180705 Kowalchyk May 2012 B2
8180804 Narayanan May 2012 B1
8190513 Felger May 2012 B2
8190523 Patterson May 2012 B2
8191775 Hildred Jun 2012 B2
8195233 Morikuni Jun 2012 B2
8195544 Horsfall Jun 2012 B2
8195547 Aaltonen Jun 2012 B2
8195565 Bishop Jun 2012 B2
8195576 Grigg Jun 2012 B1
8196131 Von Behren Jun 2012 B1
8196813 Vadhri Jun 2012 B2
8200582 Zhu Jun 2012 B1
8200868 Hooft Jun 2012 B1
8204774 Chwast Jun 2012 B2
8204829 Alvarez Jun 2012 B2
8205791 Randazza Jun 2012 B2
8209245 Dennes Jun 2012 B2
8209744 Zhu Jun 2012 B2
8214288 Olliphant Jul 2012 B2
8214289 Scipioni Jul 2012 B2
8214291 Pelegero Jul 2012 B2
8214292 Duggal Jul 2012 B2
8214293 Powell Jul 2012 B2
8214886 Foley Jul 2012 B2
8215546 Lin Jul 2012 B2
8219411 Matz Jul 2012 B2
8219474 Sutton Jul 2012 B2
8219489 Patterson Jul 2012 B2
8219490 Hammad Jul 2012 B2
8220047 Soghoian Jul 2012 B1
8224702 Mangerink Jul 2012 B2
8224754 Pastusiak Jul 2012 B2
8224773 Spiegel Jul 2012 B2
8225385 Chow Jul 2012 B2
8225997 Bierbaum Jul 2012 B1
8227936 Folk Jul 2012 B1
8229354 Sklovsky Jul 2012 B2
8229808 Heit Jul 2012 B1
8229844 Felger Jul 2012 B2
8229851 Doran Jul 2012 B2
8229852 Carlson Jul 2012 B2
8229854 Stephen Jul 2012 B2
8233841 Griffin Jul 2012 B2
8234183 Smith Jul 2012 B2
8239276 Lin Aug 2012 B2
8244580 Mankoff Aug 2012 B2
8245139 Michelman Aug 2012 B2
8249925 Broms Aug 2012 B2
8249965 Tumminaro Aug 2012 B2
8255278 Young Aug 2012 B1
8255323 Casey Aug 2012 B1
8255324 Bercy Aug 2012 B2
8265993 Chien Sep 2012 B2
8275704 Bishop Sep 2012 B2
8280777 Mengerink Oct 2012 B2
8281991 Wentker Oct 2012 B2
8281998 Tang Oct 2012 B2
8282002 Shams Oct 2012 B2
8285640 Scipioni Oct 2012 B2
8285820 Olliphant Oct 2012 B2
8285832 Schwab Oct 2012 B2
8286875 Tang Oct 2012 B2
8290433 Fisher Oct 2012 B2
8290819 Bawcutt Oct 2012 B2
8290829 Katz Oct 2012 B1
8295898 Ashfield Oct 2012 B2
8296187 Light Oct 2012 B2
8296204 Templeton Oct 2012 B2
8296228 Kloor Oct 2012 B1
8296231 Britto Oct 2012 B2
8301500 Pharris Oct 2012 B2
8301510 Boesch Oct 2012 B2
8301556 Hogl Oct 2012 B2
8311520 Choi Nov 2012 B2
8312096 Cohen Nov 2012 B2
8321267 Hoerenz Nov 2012 B2
8321294 Carlier Nov 2012 B2
8321315 Abel Nov 2012 B2
8321338 Baumgart Nov 2012 B2
8321343 Ramavarjula Nov 2012 B2
8321364 Gharpure Nov 2012 B1
8326756 Egendorf Dec 2012 B2
8326769 Weisman Dec 2012 B1
8326770 Weisman Dec 2012 B1
8327450 Clement Dec 2012 B2
8328095 Oder Dec 2012 B2
8332272 Fisher Dec 2012 B2
8332275 Poon Dec 2012 B2
8332323 Stals Dec 2012 B2
8335720 Juang Dec 2012 B2
8335726 Ling Dec 2012 B1
8335822 Ahmed Dec 2012 B2
8335921 Von Behren Dec 2012 B2
8335932 Von Behren Dec 2012 B2
8336088 Raj Dec 2012 B2
8340666 Ramer Dec 2012 B2
8341029 Ramalingam Dec 2012 B1
8346643 Boyer Jan 2013 B2
8346659 Mohsenzadeh Jan 2013 B1
8346663 Kawan Jan 2013 B2
8346666 Lindelsee Jan 2013 B2
8352323 Fisher Jan 2013 B2
8352362 Mohsenzadeh Jan 2013 B2
8352499 Bharat Jan 2013 B2
8352749 Von Behren Jan 2013 B2
8355987 Hirson Jan 2013 B2
8359070 Zhu Jan 2013 B1
8364587 Nuzum Jan 2013 B2
8364590 Casey Jan 2013 B1
8370264 Wei Feb 2013 B1
8376225 Hopkins Feb 2013 B1
8380177 Laracey Feb 2013 B2
8380349 Hickman Feb 2013 B1
8386078 Hickman Feb 2013 B1
8387873 Saunders Mar 2013 B2
8396750 Hariharan Mar 2013 B1
8396810 Cook Mar 2013 B1
8401539 Beenau Mar 2013 B2
8401898 Chien Mar 2013 B2
8401904 Simakov Mar 2013 B1
8402555 Grecia Mar 2013 B2
8403211 Brooks Mar 2013 B2
8412586 Foulser Apr 2013 B1
8412623 Moon Apr 2013 B2
8412630 Ross Apr 2013 B2
8412837 Emigh Apr 2013 B1
8417633 Chmara Apr 2013 B1
8417642 Oren Apr 2013 B2
8423462 Amacker Apr 2013 B1
8429521 Lloyd Apr 2013 B2
8437633 Chmara Apr 2013 B2
8447699 Batada May 2013 B2
8453223 Svigals May 2013 B2
8453925 Fisher Jun 2013 B2
8458487 Palgon Jun 2013 B1
8484134 Hobson Jul 2013 B2
8485437 Mullen Jul 2013 B2
8494959 Hathaway Jul 2013 B2
8498908 Mengerink Jul 2013 B2
8504475 Brand Aug 2013 B2
8504478 Saunders Aug 2013 B2
8510816 Quach Aug 2013 B2
8433116 Davis Sep 2013 B2
8527360 Groat Sep 2013 B2
8533860 Grecia Sep 2013 B1
8538845 Liberty Sep 2013 B2
8555079 Shablygin Oct 2013 B2
8560004 Tsvetkov Oct 2013 B1
8566168 Bierbaum Oct 2013 B1
8567670 Stanfield Oct 2013 B2
8571937 Rose Oct 2013 B2
8571939 Lindsey Oct 2013 B2
8577336 Mechaley Nov 2013 B2
8577803 Chatterjee Nov 2013 B2
8577813 Weiss Nov 2013 B2
8578176 Mattsson Nov 2013 B2
8583494 Fisher Nov 2013 B2
8584251 McGuire Nov 2013 B2
8589237 Fisher Nov 2013 B2
8589271 Evans Nov 2013 B2
8589291 Carlson Nov 2013 B2
8595098 Starai Nov 2013 B2
8595812 Bomar Nov 2013 B2
8595850 Spies Nov 2013 B2
8606638 Dragt Dec 2013 B2
8606700 Carlson Dec 2013 B2
8606720 Baker Dec 2013 B1
8612325 Stacy Dec 2013 B2
8615468 Varadarajan Dec 2013 B2
8620754 Fisher Dec 2013 B2
8627420 Furlan Jan 2014 B2
8635157 Smith Jan 2014 B2
8639621 Ellis Jan 2014 B1
8646059 von Behren Feb 2014 B1
8651374 Brabson Feb 2014 B2
8656180 Shablygin Feb 2014 B2
8661495 Reisman Feb 2014 B2
8662384 Dodin Mar 2014 B2
8739016 Goldman May 2014 B1
8751391 Freund Jun 2014 B2
8762263 Gauthier Jun 2014 B2
8793186 Patterson Jul 2014 B2
8838982 Carlson Sep 2014 B2
8856539 Weiss Oct 2014 B2
8887308 Grecia Nov 2014 B2
8893009 Raleigh Nov 2014 B2
9008616 Wall Apr 2015 B2
9065643 Hurry Jun 2015 B2
9070129 Sheets Jun 2015 B2
9082119 Ortiz Jul 2015 B2
9100826 Weiss Aug 2015 B2
9105050 Tietzen Aug 2015 B2
9160741 Wentker Oct 2015 B2
9195750 Hayden Nov 2015 B2
9229964 Stevelinck Jan 2016 B2
9245267 Singh Jan 2016 B2
9249241 Dai Feb 2016 B2
9256871 Anderson Feb 2016 B2
9280765 Hammad Mar 2016 B2
9307342 Sojoodi Apr 2016 B2
9324098 Agrawal Apr 2016 B1
9355393 Purves May 2016 B2
9448972 Greenberg Sep 2016 B2
9524089 Ghosh Dec 2016 B1
9530137 Weiss Dec 2016 B2
9582598 Kalgi Feb 2017 B2
9626351 Davis Apr 2017 B2
9710807 Theurer Jul 2017 B2
9772987 Davis Sep 2017 B2
9804834 Lopyrev Oct 2017 B1
9830590 Grigg Nov 2017 B2
9846863 Grossi Dec 2017 B2
9904537 Lopyrev Feb 2018 B2
10360561 Poon Jul 2019 B2
10699290 Varadarajan Jun 2020 B1
10825001 Purves Nov 2020 B2
11144905 Wilkinson Oct 2021 B1
20010037297 McNair Mar 2001 A1
20010029485 Brody Oct 2001 A1
20010034720 Armes Oct 2001 A1
20010049635 Chung Dec 2001 A1
20010054003 Chien Dec 2001 A1
20010056359 Abreu Dec 2001 A1
20010056409 Bellovin Dec 2001 A1
20020002522 Clift Jan 2002 A1
20020004783 Paltenghe Jan 2002 A1
20020007320 Hogan Jan 2002 A1
20020016749 Borecki Feb 2002 A1
20020026575 Wheeler Feb 2002 A1
20020029193 Ranjan Mar 2002 A1
20020035548 Hogan Mar 2002 A1
20020040325 Takae Apr 2002 A1
20020046184 Villaret Apr 2002 A1
20020052778 Murphy May 2002 A1
20020069122 Yun Jun 2002 A1
20020073045 Rubin Jun 2002 A1
20020077976 Meyer Jun 2002 A1
20020077978 OLeary Jun 2002 A1
20020087894 Foley Jul 2002 A1
20020099642 Schwankl Jul 2002 A1
20020099647 Howorka Jul 2002 A1
20020099656 Poh Wong Jul 2002 A1
20020107755 Steed Aug 2002 A1
20020111919 Weller Aug 2002 A1
20020112014 Bennett Aug 2002 A1
20020116271 Mankoff Aug 2002 A1
20020116341 Hogan Aug 2002 A1
20020120864 Wu Aug 2002 A1
20020128977 Nambiar Sep 2002 A1
20020133467 Hobson Sep 2002 A1
20020138290 Metcalfe Sep 2002 A1
20020138445 Laage Sep 2002 A1
20020141575 Hird Oct 2002 A1
20020143614 MacLean Oct 2002 A1
20020147913 Lun Yip Oct 2002 A1
20020174030 Praisner Nov 2002 A1
20020178370 Gurevich Nov 2002 A1
20020194081 Perkowski Dec 2002 A1
20030014307 Heng Jan 2003 A1
20030018524 Fishman Jan 2003 A1
20030026404 Joyce Feb 2003 A1
20030028451 Ananian Feb 2003 A1
20030028481 Flitcroft Feb 2003 A1
20030055785 Lahiri Mar 2003 A1
20030080185 Werther May 2003 A1
20030097318 Yu May 2003 A1
20030101134 Liu May 2003 A1
20030126076 Kwok Jul 2003 A1
20030130955 Hawthorne Jul 2003 A1
20030144935 Sobek Jul 2003 A1
20030174823 Justice Sep 2003 A1
20030177361 Wheeler Sep 2003 A1
20030179230 Seidman Sep 2003 A1
20030191709 Elston Oct 2003 A1
20030191711 Jamison Oct 2003 A1
20030191945 Keech Oct 2003 A1
20030195659 Kasuga Oct 2003 A1
20030200142 Hicks Oct 2003 A1
20030200184 Dominguez Oct 2003 A1
20030212589 Kish Nov 2003 A1
20030212642 Weller Nov 2003 A1
20030216996 Cummings Nov 2003 A1
20030220835 Barnes Nov 2003 A1
20040010462 Moon Jan 2004 A1
20040030601 Pond Feb 2004 A1
20040050928 Bishop Mar 2004 A1
20040059682 Hasumi Mar 2004 A1
20040068443 Hopson Apr 2004 A1
20040078332 Ferguson Apr 2004 A1
20040093281 Silverstein May 2004 A1
20040103037 Wetmore May 2004 A1
20040103063 Takayama May 2004 A1
20040111698 Soong Jun 2004 A1
20040128197 Bam Jul 2004 A1
20040138999 Friedman Jul 2004 A1
20040139008 Mascavage Jul 2004 A1
20040143532 Lee Jul 2004 A1
20040148255 Beck Jul 2004 A1
20040158532 Breck Aug 2004 A1
20040204128 Zakharia Oct 2004 A1
20040210449 Breck Oct 2004 A1
20040210498 Freund Oct 2004 A1
20040215560 Amalraj Oct 2004 A1
20040215963 Kaplan Oct 2004 A1
20040230536 Fung Nov 2004 A1
20040232225 Bishop Nov 2004 A1
20040236646 Wu Nov 2004 A1
20040236819 Anati Nov 2004 A1
20040243520 Bishop Dec 2004 A1
20040254891 Blinn Dec 2004 A1
20040260646 Berardi Dec 2004 A1
20040267608 Mansfield Dec 2004 A1
20040267655 Davidowitz Dec 2004 A1
20040267878 Osias Dec 2004 A1
20050010483 Ling Jan 2005 A1
20050037735 Courts Feb 2005 A1
20050038724 Roever Feb 2005 A1
20050065819 Pamela Mar 2005 A1
20050080730 Sorrentino Apr 2005 A1
20050080732 Warin Apr 2005 A1
20050080747 Anderson Apr 2005 A1
20050080821 Breil Apr 2005 A1
20050097320 Golan May 2005 A1
20050101309 Croome May 2005 A1
20050102188 Hutchison May 2005 A1
20050108178 York May 2005 A1
20050114784 Spring May 2005 A1
20050137969 Shah Jun 2005 A1
20050144082 Coolman Jun 2005 A1
20050171894 Traynor Aug 2005 A1
20050171898 Bishop Aug 2005 A1
20050184145 Law Aug 2005 A1
20050187873 Labrou Aug 2005 A1
20050192893 Keeling Sep 2005 A1
20050192895 Rogers Sep 2005 A1
20050199709 Linlor Sep 2005 A1
20050220326 Sim Oct 2005 A1
20050234817 VanFleet Oct 2005 A1
20050246278 Gerber Nov 2005 A1
20050246293 Ong Nov 2005 A1
20050251446 Jiang Nov 2005 A1
20050254714 Anne Nov 2005 A1
20050256802 Ammermann Nov 2005 A1
20050261967 Barry Nov 2005 A1
20050269401 Spitzer Dec 2005 A1
20050269402 Spitzer Dec 2005 A1
20050273462 Reed Dec 2005 A1
20060002607 Boncyk Jan 2006 A1
20060020542 Litle Jan 2006 A1
20060053056 Alspach-goss Mar 2006 A1
20060059277 Zito Mar 2006 A1
20060069619 Walker Mar 2006 A1
20060075235 Renkis Apr 2006 A1
20060085328 Cohen Apr 2006 A1
20060085477 Phillips Apr 2006 A1
20060124729 Martin Jun 2006 A1
20060129427 Wennberg Jun 2006 A1
20060163349 Neugebauer Jul 2006 A1
20060178918 Mikurak Aug 2006 A1
20060178986 Giordano Aug 2006 A1
20060178994 Stolfo Aug 2006 A1
20060190347 Cuervo Aug 2006 A1
20060195598 Fujita Aug 2006 A1
20060208060 Mendelevich Sep 2006 A1
20060212434 Crawford Sep 2006 A1
20060226216 Keithley Oct 2006 A1
20060235795 Johnson Oct 2006 A1
20060237528 Bishop Oct 2006 A1
20060247982 Stolfo Nov 2006 A1
20060277143 Almonte Dec 2006 A1
20060278704 Saunders Dec 2006 A1
20060282332 Pfleging Dec 2006 A1
20060293947 Nicholson Dec 2006 A1
20070011025 Cracchiolo Jan 2007 A1
20070016523 Blair Jan 2007 A1
20070022007 Lawe Jan 2007 A1
20070038515 Postrel Feb 2007 A1
20070038516 Apple Feb 2007 A1
20070055571 Fox Mar 2007 A1
20070067215 Agarwal Mar 2007 A1
20070087820 Van Apr 2007 A1
20070094066 Kumar Apr 2007 A1
20070100691 Patterson May 2007 A1
20070100728 Rotman May 2007 A1
20070106504 Deng May 2007 A1
20070106607 Seib May 2007 A1
20070106627 Srivastava May 2007 A1
20070107044 Yuen May 2007 A1
20070113289 Blumenau May 2007 A1
20070125840 Law Jun 2007 A1
20070129955 Dalmia Jun 2007 A1
20070136193 Starr Jun 2007 A1
20070136211 Brown Jun 2007 A1
20070143204 Claus Jun 2007 A1
20070150413 Morgenstern Jun 2007 A1
20070156726 Levy Jul 2007 A1
20070162350 Friedman Jul 2007 A1
20070170247 Friedman Jul 2007 A1
20070179885 Bird Aug 2007 A1
20070180119 Khivesara Aug 2007 A1
20070198435 Siegal Aug 2007 A1
20070198587 Kobayasfii Aug 2007 A1
20070208662 Jeronimus Sep 2007 A1
20070208671 Brown Sep 2007 A1
20070214078 Coppinger Sep 2007 A1
20070214250 Ahmed Sep 2007 A1
20070226152 Jones Sep 2007 A1
20070233590 Hardison Oct 2007 A1
20070233615 Tumminaro Oct 2007 A1
20070239502 Babu Oct 2007 A1
20070245414 Chan Oct 2007 A1
20070276765 Hazel Nov 2007 A1
20070288377 Shaked Dec 2007 A1
20070291995 Rivera Dec 2007 A1
20080004116 Van Jan 2008 A1
20080004952 Koli Jan 2008 A1
20080010096 Patterson Jan 2008 A1
20080013335 Tsutsumi Jan 2008 A1
20080015988 Brown Jan 2008 A1
20080021829 Kranzley Jan 2008 A1
20080027218 Daugs Jan 2008 A1
20080027850 Brittan Jan 2008 A1
20080029607 Mullen Feb 2008 A1
20080035738 Mullen Feb 2008 A1
20080048022 Vawter Feb 2008 A1
20080052226 Agarwal Feb 2008 A1
20080054068 Mullen Mar 2008 A1
20080054079 Mullen Mar 2008 A1
20080054081 Mullen Mar 2008 A1
20080059370 Sada Mar 2008 A1
20080065554 Hogan Mar 2008 A1
20080065555 Mullen Mar 2008 A1
20080077489 Gilley Mar 2008 A1
20080082424 Walton Apr 2008 A1
20080086365 Zollino Apr 2008 A1
20080090513 Collins Apr 2008 A1
20080091553 Koski Apr 2008 A1
20080091616 Helwin Apr 2008 A1
20080097856 Blagg Apr 2008 A1
20080103795 Jakubowski May 2008 A1
20080114639 Meek May 2008 A1
20080114737 Neely May 2008 A1
20080126145 Racklet, III May 2008 A1
20080133351 White Jun 2008 A1
20080133403 Hamzeh Jun 2008 A1
20080140568 Henry Jun 2008 A1
20080140684 OReilly Jun 2008 A1
20080147883 Philyaw Jun 2008 A1
20080154623 Derker Jun 2008 A1
20080162361 Sklovsky Jul 2008 A1
20080167965 Von Jul 2008 A1
20080172274 Hurowitz Jul 2008 A1
20080172331 Graves Jul 2008 A1
20080177574 Marcos Jul 2008 A1
20080177672 Brunner Jul 2008 A1
20080201232 Walker Aug 2008 A1
20080201264 Brown Aug 2008 A1
20080201265 Hewton Aug 2008 A1
20080221945 Pace Sep 2008 A1
20080223918 Williams Sep 2008 A1
20080228646 Myers Sep 2008 A1
20080229217 Kembel Sep 2008 A1
20080235261 Malek Sep 2008 A1
20080024561 Fein Oct 2008 A1
20080243305 Lee Oct 2008 A1
20080243702 Hart Oct 2008 A1
20080245855 Fein Oct 2008 A1
20080245861 Fein Oct 2008 A1
20080270300 Jones Oct 2008 A1
20080272188 Keithley Nov 2008 A1
20080283591 Oder Nov 2008 A1
20080288376 Panthaki Nov 2008 A1
20080288889 Hunt Nov 2008 A1
20080300980 Benjamin Dec 2008 A1
20080301055 Borgs Dec 2008 A1
20080302869 Mullen Dec 2008 A1
20080302876 Mullen Dec 2008 A1
20080313264 Pestoni Dec 2008 A1
20080319905 Carlson Dec 2008 A1
20090006181 Ghosh Jan 2009 A1
20090006262 Brown Jan 2009 A1
20090010488 Matsuoka Jan 2009 A1
20090013266 Gandhi Jan 2009 A1
20090018895 Weinblatt Jan 2009 A1
20090024527 Sellen Jan 2009 A1
20090024636 Shiloh Jan 2009 A1
20090037255 Chiu Feb 2009 A1
20090037326 Chitti Feb 2009 A1
20090037333 Flitcroft Feb 2009 A1
20090037388 Cooper Feb 2009 A1
20090043702 Bennett Feb 2009 A1
20090048934 Haddad Feb 2009 A1
20090048971 Hathaway Feb 2009 A1
20090061884 Rajan Mar 2009 A1
20090063261 Scribner Mar 2009 A1
20090064056 Anderson Mar 2009 A1
20090076953 Saville Mar 2009 A1
20090076966 Bishop Mar 2009 A1
20090083065 Unland Mar 2009 A1
20090089176 Mccabe Apr 2009 A1
20090089193 Paintin Apr 2009 A1
20090104888 Cox Apr 2009 A1
20090106112 Dalmia Apr 2009 A1
20090106151 Nelsen Apr 2009 A1
20090106160 Skowronek Apr 2009 A1
20090106234 Siedlecki Apr 2009 A1
20090108080 Meyer Apr 2009 A1
20090112775 Chiulli Apr 2009 A1
20090119176 Johnson May 2009 A1
20090119190 Realini May 2009 A1
20090119211 Johnson May 2009 A1
20090125429 Takayama May 2009 A1
20090132347 Anderson May 2009 A1
20090132366 Lam May 2009 A1
20090132395 Lam May 2009 A1
20090134217 Flitcroft May 2009 A1
20090144104 Johnson Jun 2009 A1
20090144201 Gierkink Jun 2009 A1
20090157555 Biffle Jun 2009 A1
20090159673 Mullen Jun 2009 A1
20090159700 Mullen Jun 2009 A1
20090159707 Mullen Jun 2009 A1
20090164344 Shiftan Jun 2009 A1
20090170608 Herrmann Jul 2009 A1
20090171778 Powell Jul 2009 A1
20090173782 Muscato Jul 2009 A1
20090182664 Trombley Jul 2009 A1
20090187492 Hammad Jul 2009 A1
20090200371 Kean Aug 2009 A1
20090210300 Cansler Aug 2009 A1
20090216910 Duchesneau Aug 2009 A1
20090222347 Whitten Sep 2009 A1
20090228211 Rasanen Sep 2009 A1
20090233579 Castell Sep 2009 A1
20090234751 Chan Sep 2009 A1
20090240620 Kendrick Sep 2009 A1
20090241159 Campagna Sep 2009 A1
20090248583 Chhabra Oct 2009 A1
20090248738 Martinez Oct 2009 A1
20090254471 Seidel Oct 2009 A1
20090254479 Pharris Oct 2009 A1
20090254535 Eickelmann Oct 2009 A1
20090265274 Hahn-Carlson Oct 2009 A1
20090271246 Alvarez Oct 2009 A1
20090271265 Lay Oct 2009 A1
20090271635 Liu Oct 2009 A1
20090276347 Kargman Nov 2009 A1
20090281948 Carlson Nov 2009 A1
20090288012 Hertel Nov 2009 A1
20090294527 Brabson Dec 2009 A1
20090307060 Merz Dec 2009 A1
20090307135 Gupta Dec 2009 A1
20090307139 Mardikar Dec 2009 A1
20090308921 Mullen Dec 2009 A1
20090313132 McKenna Dec 2009 A1
20090319638 Faith Dec 2009 A1
20090327045 Olives Dec 2009 A1
20090327088 Puthupparambil Dec 2009 A1
20090327131 Beenau Dec 2009 A1
20100004989 Bonalle Jan 2010 A1
20100005025 Kumar Jan 2010 A1
20100008535 Abulafia Jan 2010 A1
20100009663 Chang Jan 2010 A1
20100010964 Skowronek Jan 2010 A1
20100012728 Rosset Jan 2010 A1
20100021149 Mulder Jan 2010 A1
20100023386 Avisar Jan 2010 A1
20100023455 Dispensa Jan 2010 A1
20100023457 Riviere Jan 2010 A1
20100036741 Cleven Feb 2010 A1
20100036775 Edens Feb 2010 A1
20100036884 Brown Feb 2010 A1
20100042456 Stinchcombe Feb 2010 A1
20100042537 Smith Feb 2010 A1
20100042540 Graves Feb 2010 A1
20100049879 Leavitt Feb 2010 A1
20100057548 Edwards Mar 2010 A1
20100063903 Whipple Mar 2010 A1
20100070359 Heasley Mar 2010 A1
20100076873 Taylor Mar 2010 A1
20100076890 Low Mar 2010 A1
20100078471 Lin Apr 2010 A1
20100078472 Lin Apr 2010 A1
20100082444 Lin Apr 2010 A1
20100082445 Hodge Apr 2010 A1
20100082447 Lin Apr 2010 A1
20100082455 Rosenblatt Apr 2010 A1
20100082480 Korosec Apr 2010 A1
20100082481 Lin Apr 2010 A1
20100082485 Lin Apr 2010 A1
20100082490 Rosenblatt Apr 2010 A1
20100082491 Rosenblatt Apr 2010 A1
20100088188 Kumar Apr 2010 A1
20100088237 Wankmueller Apr 2010 A1
20100094730 Koski Apr 2010 A1
20100094755 Kloster Apr 2010 A1
20100094878 Soroca Apr 2010 A1
20100100480 Altman Apr 2010 A1
20100106602 Fuzell-Casey Apr 2010 A1
20100106644 Annan Apr 2010 A1
20100114664 Jobin May 2010 A1
20100120408 Beenau May 2010 A1
20100121707 Goeldi May 2010 A1
20100125492 Lin May 2010 A1
20100125495 Smith May 2010 A1
20100125509 Kranzley May 2010 A1
20100125803 Johnson May 2010 A1
20100131347 Sarptipi May 2010 A1
20100131415 Sartipi May 2010 A1
20100133334 Vadhri Jun 2010 A1
20100133339 Gibson Jun 2010 A1
20100138026 Kaushal Jun 2010 A1
20100138347 Chen Jun 2010 A1
20100145860 Pelegero Jun 2010 A1
20100153865 Barnes Jun 2010 A1
20100155470 Woronec Jun 2010 A1
20100161433 White Jun 2010 A1
20100162126 Donaldson Jun 2010 A1
20100174599 Rosenblatt Jul 2010 A1
20100179855 Chen Jul 2010 A1
20100185505 Sprogoe Jul 2010 A1
20100185531 Van Jul 2010 A1
20100185545 Royyuru Jul 2010 A1
20100191578 Tran Jul 2010 A1
20100191622 Reiss Jul 2010 A1
20100191770 Cho Jul 2010 A1
20100198626 Cho Aug 2010 A1
20100211445 Bodington Aug 2010 A1
20100211452 D Aug 2010 A1
20100211469 Salmon Aug 2010 A1
20100211499 Zanzot Aug 2010 A1
20100211505 Saunders Aug 2010 A1
20100217613 Kelly Aug 2010 A1
20100217682 Chan Aug 2010 A1
20100223186 Hogan Sep 2010 A1
20100228668 Hogan Sep 2010 A1
20100235284 Moore Sep 2010 A1
20100243728 Wiesman Sep 2010 A1
20100250351 Gillenson Sep 2010 A1
20100256976 Atsmon Oct 2010 A1
20100258620 Torreyson Oct 2010 A1
20100268645 Martino Oct 2010 A1
20100276484 Banerjee Nov 2010 A1
20100287048 Ramer Nov 2010 A1
20100287229 Hauser Nov 2010 A1
20100291904 Musfeldt Nov 2010 A1
20100293032 Engelsma Nov 2010 A1
20100299267 Faith Nov 2010 A1
20100299292 Collazo Nov 2010 A1
20100305848 Stallman Dec 2010 A1
20100306075 Drance Dec 2010 A1
20100306076 Taveau Dec 2010 A1
20100306113 Grey Dec 2010 A1
20100312645 Niekadlik Dec 2010 A1
20100312676 Muthukumaran Dec 2010 A1
20100312724 Pinckney Dec 2010 A1
20100325041 Berardi Dec 2010 A1
20100332262 Horvitz Dec 2010 A1
20100332283 Ng Dec 2010 A1
20110004498 Readshaw Jan 2011 A1
20110010292 Giordano Jan 2011 A1
20110016047 Wu Jan 2011 A1
20110016320 Bergsten Jan 2011 A1
20110035273 Parikh Feb 2011 A1
20110040640 Erikson Feb 2011 A1
20110040655 Hendrickson Feb 2011 A1
20110047017 Lieblang Feb 2011 A1
20110047075 Fourez Feb 2011 A1
20110047076 Carlson Feb 2011 A1
20110078082 Gupta Mar 2011 A1
20110082789 Boyd Apr 2011 A1
20110083018 Kesanupalli Apr 2011 A1
20110087596 Dorsey Apr 2011 A1
20110087726 Shim Apr 2011 A1
20110093335 Fordyce Apr 2011 A1
20110093397 Carlson Apr 2011 A1
20110099057 Tenyer Apr 2011 A1
20110105183 Hsiao May 2011 A1
20110106698 Issacson May 2011 A1
20110109737 Aben May 2011 A1
20110119300 Marcade May 2011 A1
20110125597 Oder May 2011 A1
20110137740 Bhattacharya Jun 2011 A1
20110137742 Parikh Jun 2011 A1
20110153437 Archer Jun 2011 A1
20110153498 Makhotin Jun 2011 A1
20110154466 Harper Jun 2011 A1
20110161233 Tieken Jun 2011 A1
20110178896 Nakajima Jul 2011 A1
20110178926 Lindelsee Jul 2011 A1
20110180598 Morgan Jul 2011 A1
20110184827 Hubert Jul 2011 A1
20110191244 Dai Aug 2011 A1
20110208418 Looney Aug 2011 A1
20110215146 Shams Sep 2011 A1
20110218870 Shams Sep 2011 A1
20110221692 Seydoux Sep 2011 A1
20110238474 Carr Sep 2011 A1
20110238511 Park Sep 2011 A1
20110238573 Varadarajan Sep 2011 A1
20110246290 Howard Oct 2011 A1
20110246317 Coppinger Oct 2011 A1
20110251892 Laracey Oct 2011 A1
20110258049 Ramer Oct 2011 A1
20110258111 Raj Oct 2011 A1
20110258123 Dawkins Oct 2011 A1
20110270665 Kim Nov 2011 A1
20110272471 Mullen Nov 2011 A1
20110272478 Mullen Nov 2011 A1
20110276380 Mullen Nov 2011 A1
20110276381 Mullen Nov 2011 A1
20110276424 Mullen Nov 2011 A1
20110276425 Mullen Nov 2011 A1
20110282780 French Nov 2011 A1
20110288684 Farlow Nov 2011 A1
20110295745 White Dec 2011 A1
20110296508 Os Dec 2011 A1
20110302081 Saunders Dec 2011 A1
20110312423 Mosites Dec 2011 A1
20110320344 Faith Dec 2011 A1
20110320345 Taveau Dec 2011 A1
20120005026 Khan Jan 2012 A1
20120011009 Lindsey Jan 2012 A1
20120011063 Killian Jan 2012 A1
20120016731 Smith Jan 2012 A1
20120022943 Howard Jan 2012 A1
20120023026 Chen Jan 2012 A1
20120023417 Nesladek Jan 2012 A1
20120023567 Hammad Jan 2012 A1
20120028609 Hruska Feb 2012 A1
20120030047 Fuentes Feb 2012 A1
20120030101 Boyd Feb 2012 A1
20120035998 Chien Feb 2012 A1
20120036071 Fulton Feb 2012 A1
20120041881 Basu Feb 2012 A1
20120047237 Arvidsson Feb 2012 A1
20120066065 Switzer Mar 2012 A1
20120066078 Kingston Mar 2012 A1
20120072311 Khan Mar 2012 A1
20120072350 Goldthwaite Mar 2012 A1
20120078735 Bauer Mar 2012 A1
20120078798 Downing Mar 2012 A1
20120078799 Jackson Mar 2012 A1
20120084132 Khan Apr 2012 A1
20120084204 Castell Apr 2012 A1
20120095852 Bauer Apr 2012 A1
20120095865 Doherty Apr 2012 A1
20120095895 Aston Apr 2012 A1
20120101881 Taylor Apr 2012 A1
20120110044 Nagpal May 2012 A1
20120116902 Cardina May 2012 A1
20120116966 Tan May 2012 A1
20120118950 Belk May 2012 A1
20120123838 Sparks May 2012 A1
20120123882 Carlson May 2012 A1
20120123924 Rose May 2012 A1
20120123940 Killian May 2012 A1
20120124496 Rose May 2012 A1
20120129514 Beenau May 2012 A1
20120130794 Strieder May 2012 A1
20120136780 El-Awady May 2012 A1
20120143706 Crake Jun 2012 A1
20120143767 Abadir Jun 2012 A1
20120143772 Abadir Jun 2012 A1
20120150750 Law Jun 2012 A1
20120158580 Eram Jun 2012 A1
20120158589 Katzin Jun 2012 A1
20120158593 Garfinkle Jun 2012 A1
20120158792 MacLaurin Jun 2012 A1
20120158893 Boyns Jun 2012 A1
20120159163 von Behren Jun 2012 A1
20120165978 Li Jun 2012 A1
20120166333 von Behren Jun 2012 A1
20120166655 Maddali Jun 2012 A1
20120173431 Ritchie Jul 2012 A1
20120173962 Oh Jul 2012 A1
20120185386 Salama Jul 2012 A1
20120190386 Anderson Jul 2012 A1
20120197691 Grigg Aug 2012 A1
20120197794 Grigg Aug 2012 A1
20120197807 Schlesser Aug 2012 A1
20120203662 Morgan Aug 2012 A1
20120203664 Torossian Aug 2012 A1
20120203665 Morgan Aug 2012 A1
20120203666 Torossian Aug 2012 A1
20120203673 Morgan Aug 2012 A1
20120209735 Subramanian Aug 2012 A1
20120209749 Hammad Aug 2012 A1
20120209773 Ranganathan Aug 2012 A1
20120215640 Ramer Aug 2012 A1
20120215648 Rose Aug 2012 A1
20120215650 Oba Aug 2012 A1
20120215684 Kidron Aug 2012 A1
20120215688 Musser Aug 2012 A1
20120215696 Salonen Aug 2012 A1
20120221421 Hammad Aug 2012 A1
20120221502 Jerram Aug 2012 A1
20120226582 Hammad Sep 2012 A1
20120231844 Coppinger Sep 2012 A1
20120233004 Bercaw Sep 2012 A1
20120233170 Musgrove Sep 2012 A1
20120239417 Pourfallah Sep 2012 A1
20120239556 Magruder Sep 2012 A1
20120239560 Pourfallah Sep 2012 A1
20120246070 Vadhri Sep 2012 A1
20120246071 Jain Sep 2012 A1
20120246079 Wilson Sep 2012 A1
20120254108 Wedewer Oct 2012 A1
20120259763 Pessin Oct 2012 A1
20120265631 Cronic Oct 2012 A1
20120265685 Brudnicki Oct 2012 A1
20120271770 Harris Oct 2012 A1
20120284035 Gillin Nov 2012 A1
20120290472 Mullen Nov 2012 A1
20120297446 Webb Nov 2012 A1
20120300932 Cambridge Nov 2012 A1
20120303425 Katzin Nov 2012 A1
20120303503 Cambridge Nov 2012 A1
20120303736 Novotny Nov 2012 A1
20120303961 Kean Nov 2012 A1
20120304273 Bailey Nov 2012 A1
20120310725 Chien Dec 2012 A1
20120310826 Chatterjee Dec 2012 A1
20120310831 Harris Dec 2012 A1
20120316992 Oborne Dec 2012 A1
20120317035 Royyuru Dec 2012 A1
20120317036 Bower Dec 2012 A1
20120317149 Jagota Dec 2012 A1
20120323664 Klems Dec 2012 A1
20120330874 Jerram Dec 2012 A1
20130013499 Kalgi Jan 2013 A1
20130017784 Fisher Jan 2013 A1
20130018757 Anderson Jan 2013 A1
20130019098 Gupta Jan 2013 A1
20130024364 Shrivastava Jan 2013 A1
20130024371 Hariramani Jan 2013 A1
20130024916 Evans Jan 2013 A1
20130030828 Pourfallah Jan 2013 A1
20130030964 Nuzzi Jan 2013 A1
20130031006 McCullagh Jan 2013 A1
20130054337 Brendell Feb 2013 A1
20130054466 Muscato Feb 2013 A1
20130054470 Campos Feb 2013 A1
20130054474 Yeager Feb 2013 A1
20130080238 Kelly Mar 2013 A1
20130081122 Svigals Mar 2013 A1
20130085877 Ruehrig Apr 2013 A1
20130090750 Herrman Apr 2013 A1
20130091028 Oder Apr 2013 A1
20130103574 Conrad Apr 2013 A1
20130110658 Lyman May 2013 A1
20130110678 Vigier May 2013 A1
20130111599 Gargiulo May 2013 A1
20130117170 Coppinger May 2013 A1
20130117185 Collison May 2013 A1
20130124290 Fisher May 2013 A1
20130124291 Fisher May 2013 A1
20130124364 Mittal May 2013 A1
20130138525 Bercaw May 2013 A1
20130144785 Karpenko Jun 2013 A1
20130144888 Faith Jun 2013 A1
20130144957 Sherman Jun 2013 A1
20130145148 Shablygin Jun 2013 A1
20130145172 Shablygin Jun 2013 A1
20130151417 Gupta Jun 2013 A1
20130159081 Shastry Jun 2013 A1
20130159112 Schultz Jun 2013 A1
20130159178 Colon Jun 2013 A1
20130159184 Thaw Jun 2013 A1
20130159196 Dizoglio Jun 2013 A1
20130166332 Hammad Jun 2013 A1
20130166402 Parento Jun 2013 A1
20130166456 Zhang Jun 2013 A1
20130166621 Zhu Jun 2013 A1
20130173404 Scipioni Jul 2013 A1
20130173736 Krzeminski Jul 2013 A1
20130179340 Alba Jul 2013 A1
20130185202 Goldthwaite Jul 2013 A1
20130191286 Cronic Jul 2013 A1
20130191289 Cronic Jul 2013 A1
20130198071 Jurss Aug 2013 A1
20130198080 Anderson Aug 2013 A1
20130200146 Moghadam Aug 2013 A1
20130204776 King Aug 2013 A1
20130204787 Dubois Aug 2013 A1
20130204793 Kerridge Aug 2013 A1
20130212007 Mattsson Aug 2013 A1
20130212017 Bangia Aug 2013 A1
20130212019 Mattsson Aug 2013 A1
20130212024 Mattsson Aug 2013 A1
20130212026 Powell Aug 2013 A1
20130212666 Mattsson Aug 2013 A1
20130218640 Kidder Aug 2013 A1
20130218657 Salmon Aug 2013 A1
20130218698 Moon Aug 2013 A1
20130218721 Borhan Aug 2013 A1
20130218765 Hammad Aug 2013 A1
20130218769 Pourfallah Aug 2013 A1
20130226799 Raj Aug 2013 A1
20130226813 Voltz Aug 2013 A1
20130246199 Carlson Sep 2013 A1
20130246202 Tobin Sep 2013 A1
20130246203 Laracey Sep 2013 A1
20130246258 Dessert Sep 2013 A1
20130246259 Dessert Sep 2013 A1
20130246267 Tobin Sep 2013 A1
20130254028 Salci Sep 2013 A1
20130254052 Royyuru Sep 2013 A1
20130254102 Royyuru Sep 2013 A1
20130254117 von Mueller Sep 2013 A1
20130262296 Thomas Oct 2013 A1
20130262302 Lettow Oct 2013 A1
20130262315 Hruska Oct 2013 A1
20130262316 Hruska Oct 2013 A1
20130262317 Collinge Oct 2013 A1
20130268437 Desai Oct 2013 A1
20130275300 Killian Oct 2013 A1
20130275307 Khan Oct 2013 A1
20130275308 Paraskeva Oct 2013 A1
20130282502 Jooste Oct 2013 A1
20130282575 Mullen Oct 2013 A1
20130282588 Hruska Oct 2013 A1
20130297501 Monk Nov 2013 A1
20130297504 Nwokolo Nov 2013 A1
20130297508 Belamant Nov 2013 A1
20130304649 Cronic Nov 2013 A1
20130308778 Fosmark Nov 2013 A1
20130311382 Fosmark Nov 2013 A1
20130317982 Mengerink Nov 2013 A1
20130325579 Salmon Dec 2013 A1
20130332344 Weber Dec 2013 A1
20130339240 Anderson Dec 2013 A1
20130339253 Sincai Dec 2013 A1
20130346302 Purves Dec 2013 A1
20130346305 Mendes Dec 2013 A1
20130346314 Mogollon Dec 2013 A1
20140006195 Wilson Jan 2014 A1
20140006198 Daly Jan 2014 A1
20140006277 Rao Jan 2014 A1
20140006283 Hogg Jan 2014 A1
20140007213 Sanin Jan 2014 A1
20140013106 Red path Jan 2014 A1
20140013114 Red path Jan 2014 A1
20140013452 Aissi Jan 2014 A1
20140019352 Shrivastava Jan 2014 A1
20140020068 Desai Jan 2014 A1
20140025581 Caiman Jan 2014 A1
20140025585 Caiman Jan 2014 A1
20140025958 Caiman Jan 2014 A1
20140032417 Mattsson Jan 2014 A1
20140032418 Weber Jan 2014 A1
20140040001 Harvey Feb 2014 A1
20140040127 Chatterjee Feb 2014 A1
20140040137 Carlson Feb 2014 A1
20140040139 Brudnicki Feb 2014 A1
20140040144 Plomske Feb 2014 A1
20140040145 Ozvat Feb 2014 A1
20140040148 Ozvat Feb 2014 A1
20140040628 Fort Feb 2014 A1
20140041018 Bomar Feb 2014 A1
20140046853 Spies Feb 2014 A1
20140047517 Ding Feb 2014 A1
20140047551 Nagasundaram Feb 2014 A1
20140052532 Tsai Feb 2014 A1
20140052620 Rogers Feb 2014 A1
20140052637 Jooste Feb 2014 A1
20140068706 Aissi Mar 2014 A1
20140074637 Hammad Mar 2014 A1
20140095589 Johnson Apr 2014 A1
20140108172 Weber Apr 2014 A1
20140108197 Smith Apr 2014 A1
20140114857 Griggs Apr 2014 A1
20140136945 Ligman May 2014 A1
20140143137 Carlson May 2014 A1
20140164176 Kitlyar Jun 2014 A1
20140164243 Aabye Jun 2014 A1
20140188586 Carpenter Jul 2014 A1
20140294701 Dai Oct 2014 A1
20140297534 Patterson Oct 2014 A1
20140310080 Salmon Oct 2014 A1
20140310183 Weber Oct 2014 A1
20140330721 Wang Nov 2014 A1
20140330722 Laxminarayanan Nov 2014 A1
20140331265 Mozell Nov 2014 A1
20140337175 Katzin Nov 2014 A1
20140337236 Wong Nov 2014 A1
20140344153 Raj Nov 2014 A1
20140365295 Postrel Dec 2014 A1
20140372308 Sheets Dec 2014 A1
20150019443 Sheets Jan 2015 A1
20150019944 Kalgi Jan 2015 A1
20150026049 Theurer Jan 2015 A1
20150032625 Dill Jan 2015 A1
20150032626 Dill Jan 2015 A1
20150032627 Dill Jan 2015 A1
20150046338 Laxminarayanan Feb 2015 A1
20150046339 Wong Feb 2015 A1
20150052064 Karpenko Feb 2015 A1
20150088756 Makhotin Mar 2015 A1
20150089350 Davis Mar 2015 A1
20150106239 Gaddam Apr 2015 A1
20150112870 Nagasundaram Apr 2015 A1
20150112871 Kumnick Apr 2015 A1
20150120472 Aabye Apr 2015 A1
20150127529 Makhotin May 2015 A1
20150127547 Powell May 2015 A1
20150140960 Powell May 2015 A1
20150142673 Nelsen May 2015 A1
20150154588 Purves Jun 2015 A1
20150161597 Subramanian Jun 2015 A1
20150178724 Ngo Jun 2015 A1
20150180836 Wong Jun 2015 A1
20150186864 Jones Jul 2015 A1
20150193222 Pirzadeh Jul 2015 A1
20150195133 Sheets Jul 2015 A1
20150199679 Palanisamy Jul 2015 A1
20150199689 Kumnick Jul 2015 A1
20150220917 Aabye Aug 2015 A1
20150248664 Makhdumi Sep 2015 A1
20150269566 Gaddam Sep 2015 A1
20150302453 Tietzen Oct 2015 A1
20150312038 Palanisamy Oct 2015 A1
20150319158 Kumnick Nov 2015 A1
20150332262 Lingappa Nov 2015 A1
20150339767 Chen Nov 2015 A1
20150356560 Shastry Dec 2015 A1
20160028550 Gaddam Jan 2016 A1
20160042263 Gaddam Feb 2016 A1
20160065370 Le Saint Mar 2016 A1
20160092696 Guglani Mar 2016 A1
20160092872 Prakash Mar 2016 A1
20160103675 Aabye Apr 2016 A1
20160119296 Laxminarayanan Apr 2016 A1
20160224976 Basu Aug 2016 A1
20160283941 Andrade Sep 2016 A1
20160291920 Sirpal Oct 2016 A1
20160379192 Purves Dec 2016 A1
20170046696 Powell Feb 2017 A1
20170103387 Weber Apr 2017 A1
20170134479 Kalgi May 2017 A1
20170220818 Nagasundaram Aug 2017 A1
20170228723 Taylor Aug 2017 A1
20170235848 Van Dusen Aug 2017 A1
20170300314 Lopyrev Oct 2017 A1
20170346876 Lim Nov 2017 A1
20180075081 Chipman Mar 2018 A1
20180108008 Chumbley Apr 2018 A1
20190188719 Das Jun 2019 A1
20190266604 Desai Aug 2019 A1
20190385146 Priest Dec 2019 A1
20200013051 Kadiwala Jan 2020 A1
20210084024 Sadayoshi Mar 2021 A1
Foreign Referenced Citations (62)
Number Date Country
1841425 Oct 2006 CN
1922623 Feb 2007 CN
1928907 Mar 2007 CN
101025806 Aug 2007 CN
101075316 Nov 2007 CN
101231727 Jul 2008 CN
101334876 Dec 2008 CN
101388125 Mar 2009 CN
101719255 Jun 2010 CN
101840550 Sep 2010 CN
101924690 Dec 2010 CN
101945127 Jan 2011 CN
101958025 Jan 2011 CN
102143290 Aug 2011 CN
102779304 Nov 2012 CN
102947847 Feb 2013 CN
103635920 Mar 2014 CN
105027153 Nov 2015 CN
0745961 Dec 1996 EP
0855659 Jul 1998 EP
1921578 May 2008 EP
2156397 Feb 2010 EP
2503496 Sep 2012 EP
2001344544 Dec 2001 JP
2005004621 Jan 2005 JP
2007328549 Dec 2007 JP
2008527495 Jul 2008 JP
200854521 Dec 2008 JP
2009151730 Jul 2009 JP
2009176259 Aug 2009 JP
2011186660 Sep 2011 JP
2012027824 Feb 2012 JP
20000058839 Oct 2000 KR
20010055426 Jul 2001 KR
100432430 May 2004 KR
20060117177 Nov 2006 KR
20070104087 Oct 2007 KR
2013069539 Oct 2013 SG
2000046769 Aug 2000 WO
2001035304 May 2001 WO
0165502 Sep 2001 WO
2003001866 Jan 2003 WO
03023674 Mar 2003 WO
2003046697 Jun 2003 WO
2003071386 Aug 2003 WO
2003083737 Oct 2003 WO
2004042536 May 2004 WO
2005079254 Sep 2005 WO
2006113834 Oct 2006 WO
2009032523 Mar 2009 WO
2010078522 Jul 2010 WO
2010148704 Dec 2010 WO
2010148737 Dec 2010 WO
2012068078 May 2012 WO
2012098556 Jul 2012 WO
2012142370 Oct 2012 WO
2012167941 Dec 2012 WO
2013048538 Apr 2013 WO
2013056104 Apr 2013 WO
2013119914 Aug 2013 WO
2013179271 Dec 2013 WO
201505136 Jan 2015 WO
Non-Patent Literature Citations (153)
Entry
Dragt, Bruce. “Universal Commerce: A Seamless, Personalized Purchase Experience for Today's Connected Consumers.” A First Data White Paper (2012). (Year: 2012).
Office Action dated Dec. 12, 2019 for U.S. Appl. No. 14/935,122 (pp. 1-12).
Vitt, Elizabeth et al. Data Integration Solutions for Master Data Management (Feb. 2006). https://technet.microsoft.com/en-us/library/aa964123(v=sql.90).aspx (19 pages).
Vitt, Elizabeth, et al. “Microsoft SQL Server 2005 Analysis Services Performance Guide.” White Paper, White Paper (2007). (116 pages).
U.S. Appl. No. 12/940,664 (unpublished), entitled “System and Method for Determining Transaction Distance” filed Nov. 5, 2010. (51 pages).
European Patent Office, Supplementary European Search Report and European Search Opinion, in EP Application No. 12749451.6, dated Apr. 20, 2015, 7 pages.
International Search Report and Written Opinion for PCT/US13/46875, dated Oct. 24, 2013, 14 pages.
IP Australia, Patent Examination Report No. 1, Australian Application No. 2012220669, dated Sep. 8, 2014, 6 pages.
IP Australia, Patent Examination Report No. 2, Australian Application No. 2012220669, dated Jun. 8, 2016, 4 pages.
Petition for Inter Partes Review of U.S. Pat. No. 8,533,860 Challenging Claims 1-30 Under 35 U.S.C. 312 and 37 C.F.R. 42.104, filed Feb. 17, 2016, Before the USPTO Patent Trial and Appeal Board, IPR 2016-00600, 65 pages.
State Intellectual Property of the People's Republic of China, First Office Action in Chinese Application No. 201280019629.X, dated Aug. 1, 2016, 15 pages.
David Breitkopf, “ACS to Take Over Mich. WC Distribution Program”, American Banker, New York, NY: Jul. 20, 2006, vol. 171. Issue 138, p. 6.
Business Wire, “New York State Department of Labor Selects JPMorgan Chase to Provide New Banking Services for Unemployment Insurance Benefits; JPMorgan Chase Electronic Services to Help Speed Benefit Payments”, Business Wire, New York, Aug. 4, 2006, 2 p.
Gopalan, NP & Selvan, B Siva. TCP/IP Illustrated. Prentice-Hall. 2008. pp. 101-102, 175-176 and 235. 7 pages.
Shadrach, D.C. “A Weighted Metric Based Adaptive Algorithm for Web Server Load Balancing.” 2009 Third International Symposium on Intelligent Information Technology Application, http://ieeexplore.ieee.org/xpl/articleDetails.jsp?amumber=5369384, pp. 449-452.
International Search Report for PCT/US09/54921 dated Oct. 21, 2009. (2 pages).
International Search Report and Written Opinion for PCT/US2010/048344 dated Nov. 15, 2010. (7 pages).
International Search Report and Written Opinion for PCT/US2010/041860 dated Feb. 1, 2011. (8 pages).
International Search Report for PCT/US11/49393 dated Dec. 5, 2011. (2 pages).
International Search Report and Written Opinion for PCT/US11/57179 dated Jan. 5, 2012. (7 pages).
International Search Report and Written Opinion for PCT/US11/57173 dated Mar. 15, 2012. (11 pages).
International Search Report and Written Opinion for PCT/US2012/026205, dated May 29, 2012. 2 pages.
International Search Report for PCT/US11/65305 dated Apr. 16, 2012. 2 pages.
International Search Report for PCT/US12/23856 dated Jun. 6, 2012. 3 pages.
International Search Report and Written Opinion for PCT/US2012/027043 dated Jul. 13, 2012. 15 pages.
International Search Report for PCT/US12/24772 dated Jul. 24, 2012. 3 pages.
International Search Report for PCT/US12/25530 dated Aug. 7, 2012. 4 pages.
International Search Report PCT/US12/27620 dated Aug. 10, 2012. 3 pages.
International Search Report and Written Opinion for PCT/US12/41437 dated Aug. 24, 2012. (20 pages).
International Search Report and Written Opinion for PCT/US12/37597 dated Sep. 21, 2012 (11 pages).
International Search Report for PCT/US12/39638 dated Sep. 24, 2012. 4 pages.
International Search Report for PCT/US12/45875 dated Nov. 16, 2012. 4 pages.
International Search Report and Written Opinion for PCT/US12/47092 dated Nov. 26, 2012. 11 pages.
International Search Report for PCT/US12/57577 dated Nov. 29, 2012. 2 pages.
International Search Report and Written Opinion for PCT/US12/57528 dated Dec. 17, 2012. 8 pages.
International Search Report and Written Opinion for PCT/US12/66898 dated Feb. 11, 2013. 14 pages.
International Search Report and Written Opinion for PCT/US12/56759 dated Feb. 25, 2013. 12 pages.
International Search Report and Written Opinion for PCT/US2013/020411 dated May 21, 2013. 18 pages.
International Search Report and Written Opinion for PCT/US2013/024538, dated May 31, 2013. 15 pages.
Written Opinion for PCT/US12/27620 dated Aug. 10, 2012. 5 pages.
International Search Report and Written Opinion for PCT/US2010/033861 dated Dec. 9, 2010 (7 pages).
International Search Report for PCT/US2010/033547 dated Dec. 14, 2010 (3 pages).
International Search Report for PCT/US2010/045445 dated Feb. 24, 2011 (3 pages).
International Search Report for PCT/US2010/045500 dated Mar. 29, 2011 (3 pages).
International Search Report and Written Opinion for PCT/US2011/024941 dated Apr. 19, 2011 (6 pages).
International Search Report and Written Opinion for PCT/US2010/046833 dated Apr. 26, 2011 (8 pages).
International Search Report and Written Opinion for PCT/US2011/26734 dated Apr. 29, 2011 (7 pages).
International Search Report and Written Opinion for PCT/US2011/29790 dated May 19, 2011 (6 pages).
International Search Report for PCT/US2011/035268 dated Aug. 5, 2011 (3 pages).
International Search Report and Written Opinion for PCT/US2011/032093 dated Aug. 24, 2011 (11 pages).
International Search Report and Written Opinion for PCT/US2012/045601 dated Feb. 1, 2013. 11 pages.
International Search Report and Written Opinion for PCT/US12/65738 dated Apr. 19, 2013. 9 pages.
Australian Patent Office, Patent Examination Report No. 2 in Australian Patent Application No. 2012217606, dated Jun. 15, 2016, 6 pages.
Dizaj, Mohammad Vahid Alizadeh, Moghaddam, Rexa Askari, Momenebellah, Samad, New Mobile Payment Protocol: Mobile Pay Center Protocol 2 (MPCP2) By Using New Key Agreement Protocol: VAM, 3d International Conference on Electronics Computer Technology, vol. 2, Apr. 2011, pp. 12-18.
State Intellectual Property Office of the People's Republic of China, First Office Action in Chinese Application No. 201280018719.7, dated Jul. 4, 2016, 15 pages.
Gao, Jerry, Kulkarni, Vijay, Ranavat, Himanshu, Chang, Lee, Mei, Hsing, A2D Barcode-Based Mobile Payment System, 3d International Conference on Multimedia and Ubiquitous Engineering, Jun. 2009, pp. 320-329.
International Search Report and Written Opinion for PCT/US2014/030517, dated Aug. 18, 2014. (9 pages).
Smartphone e-payment and Google AD send blog, ‘Google Wallet on Smartphone’, <http://stockpedia.blogspot.kr/2011/06/google-wallet.html> Jun. 10, 2011, pp. 1-3.
Lowry P B XML data mediation and collaboration: a proposed comprehensive architecture and query requirements for using XML to mediate heterogeneous data sources and targets, Proceedings of the 34th Hawaii International Conference on System Sciences—2001, Jan. 3, 2001; Jan. 3, 2001-Jan. 6, 2001, IEEE, pp. 1-9.
International Search Report and Writtten Opinion for PCT/US2011/039178 dated Sep. 16, 2011 (7 pages).
International Search Report and Written Opinion for PCT/US11/57180 dated Mar. 15, 2012 (11 pages).
International Search Report and Written Opinion for PCT/US12/55636 dated Nov. 30, 2012. 2 pages.
International Preliminary Report on Patentability dated Jan. 14, 2014 cited in related/corresponding International PCT Appl. No. PCT/US2012/045875 filed Jul. 7, 2012. (11 pages).
Stack Exchange, Why aren't there automated translators from one programming language to another, 2010 (5 pages).
McCarney et al., “Tapas: Design, Implementation, and Usability Evaluation of a Password Manager,” Copyright 2012, ACM 978 1-4503-1312-4/12/12 (10 pages).
International Search Report for PCT/US2010/033229 dated Dec. 29, 2010, 8 pages.
International Search Report for PCT/US12/21000 dated May 15, 2012. 2 pages.
Corrected Petition for Inter Partes Review of U.S. Pat. No. 8,533,860 Challenging Claims 1-30 Under 35 U.S.C. .sctn.312 and 37 C.F.R. sctn.42.104, dated Mar. 14, 2016, before the USPTO Patent Trial and Appeal Board, IPR 2016-00600, 65 pages.
International Search Report and Written Opinion for PCT/US2010/033229 dated Dec. 29, 2010. (8 pages).
International Search Report and Written Opinion for PCT/US2012/069557 dated Feb. 22, 2013. 8 pages.
International Search Report and Written Opinion for PCT/US2012/057528, dated May 29, 2012. (8 pages).
International Search Report and Written Opinion issued in connection with PCT/US11/42062 dated Sep. 29, 2011 (8 pages).
International Search Report and Written Opinion for PCT/US2013/031084, dated Jun. 4, 2013. 9 pages.
ShopSavvy Blog. Feb. 2012. Retrieved from https://web.archive.Org/web/20120212104611/http://shopsavvy.com/blog. pp. 1-13 (Year: 2012).
International Preliminary Report on Patentability dated Jan. 16, 2014 in related/corresponding PCT Patent Appl. No. PCT/US2012/045601 filed Jul. 5, 2012. (7 pages).
Petition for Inter Partes Review of U.S. Pat. No. 8,887,308 Challenging Claim 1 Under 35 U.S.C. 312 and 37 C.F. R. 42.104, dated Mar. 3, 2016, before the USPTO Patent Trial and Appeal Board, IPR 2016-00602, 58 pages.
Petition for Inter Partes Review of U.S. Pat. No. 8,402,555 Challenging Claims 1-26 Under 35 U.S.C. 312 and 37 C.F.R. 42.104, dated Mar. 22, 2016, before the USPTO Patent Trial and Appeal Board, IPR 2016-00789, 65 pages.
Office Action dated Feb. 28, 2018 for U.S. Appl. No. 14/242,403 (pp. 1-11).
Office Action dated Apr. 12, 2018 for U.S. Appl. No. 13/520,481 (pp. 1-8).
Australian Examination Report for AU2017203295 dated Apr. 19, 2018, 4 pages.
Ratha, N., and Bolle, R., 1. History of Fingerprint Pattern Recognition—1.1 Introduction; 1.2 The Development of Fingerprint Classification Systems “Automatic Fingerprint Recognition Systems,” Springer-Verlag, (2004) (466 pages).
Office Action dated May 22, 2018 for U.S. Appl. No. 14/216,382 (pp. 1-8).
Chinese Office Action dated Oct. 10, 2017 for CN Application No. 201280019629.X, 7 pages.
Pan Kexian “Development of the Location-Based Service LBS Application of Intelligent Mobile Phone”, Information Technologies, Oct. 25, 2009, pp. 134-137, cited on Oct. 10, 2017 in CN201280019629.
Yang Jingjing “Help Web: Life Search Forerunner” Scientific and Technological Information, Aug. 5, 2010, pp. 36-37, cited on Oct. 10, 2017 in CN201280019629.
Wang Lepeng et al. “Discuss of Foursquare Pattern and Its Deelopment Strategies in China” Scientific and Technological Information, Aug. 15, 2010, pp. 90-91, cited on Oct. 10, 2017 in CN201280019629.
Chinese Office Action dated Nov. 6, 2017 for CN Application No. 201280018719.7, 24 pages.
Charland et al., Mobile Application Development: Web vs. Native, Apr. 2011, 9 pages.
Lee et al., osgGap: scene graph library for mobile based on hybrid web app framework, Nov. 2013, 4 pages.
Immaneni et al., Hybrid retrieval from the unified web, Mar. 2007, 5 pages.
Gao et al., “A 2D Barcode-Based Mobile Payment System”, (2009), XP031561633 (10 pages).
Office Action dated Jun. 22, 2018 for U.S. Appl. No. 13/629,006 (pp. 1-8).
Office Action dated Jun. 21, 2018 for U.S. Appl. No. 14/216,351 (pp. 1-12).
Office Action dated Jun. 27, 2018 for U.S. Appl. No. 15/717,409 (pp. 1-7).
Office Action dated Jul. 16, 2018 for U.S. Appl. No. 14/698,317 (pp. 1-13).
I. Malavolta, Web-based hybrid mobile apps: state of the practice and research opportunities, 2 pages (Year: 2016).
Office Action dated Oct. 4, 2018 for U.S. Appl. No. 13/758,472 (pp. 1-22).
Office Action dated Sep. 21, 2018 for U.S. Appl. No. 15/839,493 (pp. 1-21).
Brick-and-mortar retailers snatching customers away from E-tailers. (Feb. 16, 2012). PR Newswire Retrieved from https://dialog.proguest.corn/professional/docview/1346330115?accountid=142257 (Year: 2012) 3 pages.
Office Action dated Nov. 2, 2018 for U.S. Appl. No. 13/624,779 (pp. 1-18).
Office Action dated Dec. 3, 2018 for U.S. Appl. No. 14/935,122 (pp. 1-13).
Office Action dated Dec. 27, 2018 for U.S. Appl. No. 13/398,817 (pp. 1-10).
Office Action dated Jan. 17, 2019 for U.S. Appl. No. 14/216,382 (pp. 1-7).
Win Anyu, “A cluster based routing relay node selection algorithm”, 2010 Asia-Pacific Conference on Information Network and Digital Content Security (2010APCID), (Dec. 31, 2010).
Jiang Hao, “Research on the discovery mechanism of relay node in the middle of the peer network”, the full-text database of excellent Master's degree thesis in China, (May 15, 2009).
Xing Chang-you and Chen Ming; “Network distance prediction technology”, Journal of Software , (Sep. 30, 2009), vol. 20, No. 9, p. 2470-2482 http://www.jos.org.cn/josen/ch/reader/view_abstract.aspx?flag=1&file_no=3559&journal_id=jos.
Chinese Office Action (with English language translation) dated Jan. 30, 2019 for Application No. 201280019629.X, 10 pages.
Chinese Office Action (with English language translation) for Application No. 201480023694.9 dated Dec. 3, 2018, 17 pages.
Office Action dated Mar. 1, 2019 for U.S. Appl. No. 14/698,317 (pp. 1-11).
Chinese Office Action (with English language translation) for Application No. 201480023694.9, dated Jun. 26, 2019, 7 pages.
Office Action dated Jul. 10, 2019 for U.S. Appl. No. 13/398,817 (pp. 1-8).
Office Action dated Jun. 27, 2019 for U.S. Appl. No. 13/629,006 (pp. 1-7).
Chinese Office Action (with English language translation) for Application No. CN201480023694.9, dated Jan. 21, 2020, 12 pages.
Chinese Office Action (with English language translation) for Application No. CN201710037081.6, dated Mar. 17, 2020, 23 pages.
Liang, J., Shi, R., Liang, F., & Gao, Z. H. (2001). WAP clients & SET protocol. Dr.Dobb's Journal, 26(6), 85-91. Retrieved from http:/ /dialog.proquest.conn/professional/docview/202692023?accountid=131444 (Year: 2001).
Office Action dated Apr. 1, 2020 for U.S. Appl. No. 16/140,879 (pp. 1-17).
Office Action dated Feb. 4, 2020 for U.S. Appl. No. 13/629,006 (pp. 1-7).
Office Action dated Mar. 13, 2020 for U.S. Appl. No. 15/494,294 (pp. 1-8).
Office Action dated Mar. 6, 2020 for U.S. Appl. No. 16/017,241 (pp. 1-7).
Office Action dated Mar. 6, 2020 for U.S. Appl. No. 16/440,486 (pp. 1-8).
Indian Examination Report for Application No. 8894/DELNP/2015, dated Oct. 21, 2019, 7 pages.
Notice of Allowance dated Nov. 8, 2019 for U.S. Appl. No. 14/698,317 (pp. 1-10).
Office Action dated Oct. 29, 2019 for U.S. Appl. No. 14/216,382 (pp. 1-8).
Office Action dated Oct. 31, 2019 for U.S. Appl. No. 15/627,085 (pp. 1-9).
Notice of Allowance dated Apr. 12, 2019 for U.S. Appl. No. 16/182,288 (pp. 1-8).
Notice of Allowance dated May 30, 2019 for U.S. Appl. No. 13/758,472 (pp. 1-10).
Office Action dated May 14, 2019 for U.S. Appl. No. 14/935,122 (pp. 1-11).
Notice of Allowance dated Jun. 10, 2020 for U.S. Appl. No. 15/494,294 (pp. 1-10).
Notice of Allowance dated Jun. 15, 2020 for U.S. Appl. No. 16/440,486 (pp. 1-8).
Office Action dated Jul. 10, 2020 for U.S. Appl. No. 16/017,241 (pp. 1-9).
Office Action dated May 19, 2020 for U.S. Appl. No. 15/627,085 (pp. 1-11).
Chinese Office Action (including English translation) for Application No. CN201710037081.6, dated Feb. 5, 2021, 7 pages.
Notice of Allowance dated Mar. 31, 2021 for U.S. Appl. No. 16/294,676 (pp. 1-9).
Office Action dated May 25, 2021 for U.S. Appl. No. 16/017,241 (pp. 1-13).
Chandra, Shalini; Srivastava, Shirish C.; and Theng, Yin-Leng (2010) “Evaluating the Role ofTrust in Consumer Adoption of Mobile Payment Systems: An Empirical Analysis,” Communications of the Association for Information Systems: vol. 27, Article 29. http://aisel.aisnet.org/cais/vol27/iss1/29 (Year: 2010) 30 pages.
Chinese Office Action (with English language translation) for Application No. CN201710037081.6, dated Oct. 21, 2020, 11 pages.
Notice of Allowance dated Feb. 10, 2021 for U.S. Appl. No. 15/627,085 (pp. 1-15).
Notice of Allowance dated Jan. 14, 2021 for U.S. Appl. No. 16/140,879 (pp. 1-9).
Notice of Allowance dated Jan. 19, 2021 for U.S. Appl. No. 16/283,251 (pp. 1-5).
Notice of Allowance dated Jan. 22, 2021 for U.S. Appl. No. 16/532,095 (pp. 1-10).
Notice of Allowance dated Jan. 27, 2021 for U.S. Appl. No. 16/273,976 (pp. 1-9).
Notice of Allowance dated Jan. 29, 2021 for U.S. Appl. No. 15/988,485 (pp. 1-7).
Office Action dated Aug. 21, 2020 for U.S. Appl. No. 15/988,485 (pp. 1-10).
Office Action dated Dec. 4, 2020 for U.S. Appl. No. 16/017,241 (pp. 1-10).
Office Action dated Nov. 12, 2020 for U.S. Appl. No. 16/273,976 (pp. 1-9).
Office Action dated Oct. 22, 2020 for U.S. Appl. No. 14/244,488 (pp. 1-13).
Office Action dated Oct. 27, 2020 for U.S. Appl. No. 16/294,676 (pp. 1-9).
Office Action dated Oct. 6, 2020 for U.S. Appl. No. 16/532,095 (pp. 1-13).
Office Action dated Oct. 9, 2020 for U.S. Appl. No. 16/283,251 (pp. 1-6).
Office Action dated Sep. 4, 2020 for U.S. Appl. No. 15/627,085 (pp. 1-10).
Notice of Allowance dated Nov. 18, 2021 for U.S. Appl. No. 16/017,241 (pp. 1-9).
Office Action dated Oct. 27, 2021 for U.S. Appl. No. 17/064,832 (pp. 1-20).
Supplemental Notice of Allowability dated Dec. 3, 2021 for U.S. Appl. No. 16/017,241 (pp. 1-2).
Related Publications (1)
Number Date Country
20190147523 A1 May 2019 US
Provisional Applications (3)
Number Date Country
61545971 Oct 2011 US
61539969 Sep 2011 US
61538761 Sep 2011 US
Continuations (3)
Number Date Country
Parent 14242403 Apr 2014 US
Child 16245777 US
Parent 13542443 Jul 2012 US
Child 14242403 US
Parent 13520481 US
Child 13542443 US
Continuation in Parts (2)
Number Date Country
Parent 13398817 Feb 2012 US
Child 13520481 US
Parent 13348634 Jan 2012 US
Child 13398817 US