[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

EP3295406A1 - Matching user provided representations of items with sellers of those items - Google Patents

Matching user provided representations of items with sellers of those items

Info

Publication number
EP3295406A1
EP3295406A1 EP16793471.0A EP16793471A EP3295406A1 EP 3295406 A1 EP3295406 A1 EP 3295406A1 EP 16793471 A EP16793471 A EP 16793471A EP 3295406 A1 EP3295406 A1 EP 3295406A1
Authority
EP
European Patent Office
Prior art keywords
item
seller
image
user
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP16793471.0A
Other languages
German (de)
French (fr)
Other versions
EP3295406A4 (en
Inventor
Chao Wang
Michael YAMARTINO
Sridatta Kaustubh THATIPAMALA
Yuan WEI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pinterest Inc
Original Assignee
Pinterest Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/726,929 external-priority patent/US10269055B2/en
Priority claimed from US14/964,307 external-priority patent/US10679269B2/en
Application filed by Pinterest Inc filed Critical Pinterest Inc
Publication of EP3295406A1 publication Critical patent/EP3295406A1/en
Publication of EP3295406A4 publication Critical patent/EP3295406A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0617Representative agent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/363Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers

Definitions

  • FIG. 1 is a pictorial diagram of an illustrative environment that includes a server system and a client device communicatively connected via a network.
  • FIG. 2 is a block diagram of an example implementation for listing items for sale by a seller on multiple websites, according to an implementation.
  • FIGs. 3 - 4 are block diagrams of an example implementation for matching a seller of an item with a user provided representation of the item, according to an implementation.
  • FIGs. 5 - 6 are block diagrams of an example implementation of facilitating a purchase of a represented item by a user, according to an implementation.
  • FIG. 7 is a block diagram of a purchase process, according to an
  • FIG. 8 is another block diagram of a purchase process, according to an implementation.
  • FIG. 9 is a representation of a segmented image, according to an
  • FIG. 10 is a representation of a segmented image with purchase controls associated with represented items available for purchase from one or more sellers, according to an implementation.
  • FIG. 11 is a representation of an item and item variants available from the seller of the item, according to an implementation.
  • FIG. 12 is a representation of a purchase confirmation for an item, according to an implementation.
  • FIG. 13 illustrates an example process for matching sellers with user provided representations of items, according to an implementation.
  • FIG. 14 illustrates an example process for processing a user provided image to match an item represented in the image with a seller of the item, according to an implementation.
  • FIG. 15 illustrates an example purchase request process, according to an implementation.
  • FIG. 16 illustrates an example purchase execution process, according to an implementation.
  • FIG. 17 is a pictorial diagram of an illustrative implementation of a server system that may be used for various implementations.
  • This disclosure describes systems and methods for enabling sellers to sell items directly and also sell those items as a merchant through a management service without having to maintain separate inventory and/or purchase processing information with the management service.
  • e-commerce sellers advertise and sell items through their own website or application, which may be hosted by the seller or running on an e-commerce "shopping cart” platform (e.g., MAGENTO, SHOPIFY, BIGCOMMERECE).
  • a payment processor e.g., AUTHORIZE.NET, PAYPAL, STRIPE, BALANCED
  • a seller has 5 units of item A that they intend to sell, the sellers must either allocate separate inventory quantities for each different selling channel (e.g., 3 units for their own direct sales and 2 units for the management service sales) or they must update the quantity available each time an item is ordered. For example, if the seller lists 5 available units on their own website and 5 available units through the management service, the seller will need to access the merchant account and update the quantity available through the management service each time a unit is sold directly by the seller. Likewise, each time a unit is sold through the management service, the seller will have to access their own website and update the quantity available.
  • 3 units for their own direct sales and 2 units for the management service sales e.g., 3 units for their own direct sales and 2 units for the management service sales
  • the management service and the seller are independent, the host requires that order processing, payment, and order management be performed directly with the management service.
  • the seller may be required to coordinate with a first payment authorization entity for the seller and a second payment authorization entity for the merchant account with the management service.
  • the described implementations enable a seller to offer items for sale directly and as a merchant through a management service without having to maintain separate inventory, manually update information with the management service, and/or manage orders from the management service.
  • Each transaction made with the management service is sent to the seller for processing and completion, as if the user had purchased the item directly from the seller.
  • a seller may create a merchant account with a management service such that the management service and the seller are authorized to exchange information.
  • the seller sends to the management service an item catalog that identifies items offered for sale by the seller that may be purchased by users from the seller.
  • the item catalog may identify, for each item, the item, a source location identifier, such as Uniform Resource Locator ("URL") of a web page from which the item may be viewed and/or purchased from the seller, an image of the item, item information, image information, etc.
  • URL Uniform Resource Locator
  • the management service may be a service where users can post images, view images, share images, correspond with other users, purchase items, etc.
  • the management service may use the information from the item catalog provided by the seller to determine if any of the images accessible by users of the management service include representations of items offered for sale by the seller.
  • users of the management service may post an image to the management service that was obtained from another web page, such as a web page of the seller's website.
  • the posted image may include image information, also known as metadata, which includes the URL from which the image was obtained.
  • the image provided by the user may be determined that the image provided by the user to the management service includes a representation of an item available for purchase from the seller and the user provided image is associated with the item and/or the seller of the item.
  • the image may be processed using one or more image processing algorithms to detect an item represented in the image. The processed image may then be compared with images and/or image information included in the item catalog provided by the seller to determine if an item offered for sale by the seller is represented in the image. If it is determined that an item offered for sale by the seller is represented in the image provided by the user, the user provided image is associated with the item and/or the seller of the item.
  • a purchase control is presented with the user provided image.
  • seller information that identifies the seller and/or the item may likewise be presented with the presentation of the user provided image.
  • the purchase control is selectable by the user viewing the image to obtain variant information about the item represented in the image and/or to purchase the item represented in the image from the seller.
  • Item "variant information,” as used herein, is additional information about the item and/or the sale of the item.
  • item variant information may include the quantity of the item available for sale by the seller, the price of the item, a size of the item, a color of the item, a shipping cost for shipping the item, a shipping time, and/or other information.
  • the management service facilitates the purchase between the user and the seller. For example, the management service may send an item reservation request to the seller to reserve one or more units of the item that may be purchased by the user viewing the item. If the user selects to purchase the item, rather than requiring the merchant to maintain a payment authorization service with the merchant account, the purchase information is provided from the management service to the seller.
  • encrypted credit card information may be sent to the seller as part of the item information.
  • the credit card associated with the user may be represented as a unique token managed by a vault service.
  • the vault service in a secure form, credit card information.
  • the vault provider replaces the token with the credit card and provides the purchase information to the seller for authorization.
  • the seller upon authorizing the purchase, sends an authorization confirmation to the management service and the management service notifies the user that the purchase of the item from the seller has been completed.
  • the seller need only maintain a single relationship with a payment processor, can manage all inventory at a single location, and need not independently update different merchant accounts.
  • the management service may provide an item identifier, item information (e.g., selected variants), user identifier, etc.
  • the management service may likewise facilitate payment by the user for the item, such as through a third party payment processor.
  • payment information may be provided to the seller for processing of payment for the item.
  • purchase of the item is completed and the seller may ship the item to the user.
  • An "item” may be anything that can be represented and offered for sale.
  • an item may be a physical good (clothing, hardware, paintings, etc.), a digital item (e.g., audio, video, image), a service (e.g., landscaping, banking, house painting).
  • FIG. 1 is a pictorial diagram of an illustrative environment that includes users 101 , such as users 101(1), 101(2) - 101 (N), a server system 100 that includes one or more server computers 100(1), 100(2) - 100(N), one or more client devices 104, such as client device 104(1), 104(2), 104(3) - 104(N), and one or more sellers 106, such as a Seller A 106(1), Seller B 106(2) - Seller C 106(N) communicatively connected via a network 108.
  • any number and/or type of server systems 100, client devices 104 and/or sellers 106 may be included in the environment, and those illustrated in FIG. 1 are only exemplary.
  • any number of users 101 may be included in the environment.
  • the term "user” will be used herein to refer to an individual interacting with the management service 1 10 (discussed below) to post or otherwise provide images, view images, share images, correspond with other users, purchase items represented in viewed images, etc.
  • the network 108 may include a local area network, a wide area network, such as a public switched telephone network (PSTN), a cable television network, a satellite network, a collection of networks, a public Internet protocol network, a private Internet protocol network, or a combination thereof. Moreover, the network 108 may be wired, wireless, or a combination of the two.
  • the server system 100 may also include a mappings data store 1 1 1, an image data store 1 13, an item catalog data store 1 15, and/or a user profile data store 117.
  • the data stores may include lists, arrays, databases, and other data structures used to provide storage and retrieval of data.
  • the disclosure describes multiple data stores, in some implementations, the data stores may be configured as a single data store or multiple data stores.
  • mappings data store 1 11 , image data store 1 13, item catalog data store 1 15, and user profile data store 117 may be integrated with the server system 100 or otherwise communicatively coupled with the server system 100.
  • one or more of the mappings data store 1 1 1, image data store 113, item catalog data store 115, and/or user profile data store 1 17 may be located at a remote computing resource (not shown) and communicatively coupled with the server system 100.
  • the mappings data store 1 1 1, image data store 113, item catalog data store 115, and/or user profile data store 1 17 may include one or more CD-RW/DVD-RW drives, hard disk drives, tape drives, or other storage devices that are utilized to store digital content and information.
  • the server system 100 may provide a management service 1 10 that facilitates user 101 postings of images, viewing of images, sharing of images, corresponding with other users, viewing of item variant information for items represented in images, and the like.
  • the management service 110 may facilitate the purchase by a user of an item represented in an image from a determined seller of the item.
  • the server system 100 may also be configured to exchange information with one or more sellers 106.
  • the sellers 106 may include any type of entity and/or individual(s) that offers items for sale.
  • sellers 106 may include e-commerce websites that sells and delivers items, a service offering, a traditional retail or wholesale store, etc.
  • the sellers 106 may interact with the management service 110 and provide and/or update an item catalog listing items offered for sale by the seller.
  • the item catalog may include item information about each item offered for sale by the seller.
  • the item information may include a name of the item, a price of the item, a URL for the seller's web page from which the item may be viewed and/or purchased from the seller, a geographic location of the seller, an advertising amount the seller is willing to pay to advertise the item and/or have a user provided image associated with the item, etc.
  • a seller may offer for sale thousands of items via their own e-commerce website and each of those items may be associated with or represented on one or more web pages of the seller's website.
  • the seller 106 may provide to the management service 1 10 an item catalog listing one, some, or all of the items that the seller offers for sale.
  • the management service 1 10 may store the seller provided item catalog in the item catalog data store 115 and determine if any of the user provided images maintained in the image data store 113 include a representation of an item listed in the item catalog provided by the seller. Images maintained in the image data store 113 that include a representation of an item identified by the seller in the item catalog are associated with the item and/or the seller. The association is maintained in the mappings data store 11 1.
  • the advertising amount may identify an amount the seller is willing to pay to promote the item, to have the item associated with user provided images that include representations of the item, and the like.
  • the advertising amount may be based on the number of views or impressions the item receives by users of the management service. In other implementations, the advertising amount may be for a defined period of time, etc. In implementations when more than one seller offers a same or similar item for sale, the advertising amount may be utilized as a factor in determining which seller(s) is associated with a user provided image that includes a representation of the item.
  • Sellers 106 may also periodically update the provided item catalog by identifying additional items that the seller offers for sale, removing items from the item catalog, by providing updated variant information for items identified in the item catalog and/or by altering the advertising amount for the item. Those updates are reflected in the item catalog data store 1 15 and may be used by the management service 1 10 when presenting images to users.
  • client devices 104 may include personal computers, tablet computers, eBook reader devices, laptop computers, desktop computers, netbooks, personal digital assistants (PDA), portable gaming devices, wireless communication devices, such as smart phones or mobile handsets, set-top-boxes, game consoles, cameras, audio recorders/players, or any combination thereof.
  • the server system 100 is configured to exchange data and information, including information about users, images, sellers, items, item variants, and other like information with client devices 104.
  • the management service 110 may interact via the server system 100 to present images to a user 101, present item variant information to a user 101, facilitate purchase of an item between a user and a seller of the item, and the like.
  • a user 101 may interact with the management service 110, via a client device 104, to provide images, view images, share images, correspond with other users, initiate a purchase of an item from a seller of the item, etc.
  • a user that provides an image that includes a representation of an item may be a different person or entity than the seller of the item represented in the image.
  • the mappings data store 1 11 stores information about the associations between items represented in user provided images and items offered for sale by sellers. For example, an item may be determined to be represented in a user provided image that is available for sale (listed in an item catalog) from three different sellers. In such an example, the mappings data store 1 11 will maintain an association between the user provided image, which is maintained in the image data store 113, and the corresponding item listed in each of the seller's provided item catalogs.
  • the user profile data store 117 stores information about users 101 of the management service 110. Any type of information may be stored in the user profile data store 1 17. For example, user profile information, such as attributes, name, address, gender, browse history, purchase history, billing information, shipping information, purchasing information, social networks and/or friends with which the user 101 interacts, and the like, may be stored in the user profile data store 117. User profile information may be provided directly by users 101 and/or collected from users 101 of the client devices 104 when interacting with the management service 1 10 (e.g., clickstream data as the user explores the management service 110), when posting, viewing, and/or sharing images, when facilitating a purchase between the user and a seller, etc.
  • the management service 1 10 e.g., clickstream data as the user explores the management service 110
  • users of the management service 1 10 may choose to limit the amount of information included in their user profile, to limit access to their user profile information and/or to limit what information is shared, if any, from their user profile information.
  • the user profile information maintained in the user profile data store 117 may be used by the management service 110 to facilitate a purchase of an item by a user from a seller.
  • the management service 110 may provide use information back to the users 101 and/or the sellers 106.
  • the management service 110 through communication between the server system 100 and a client device 104, may provide use and/or purchase information (e.g., purchase history) back to a user 101.
  • purchase information e.g., purchase history
  • Such information may include an identification of images recently viewed, provided or shared, an identification of others that have viewed images posted by the user, purchases of items made by the user, and the like.
  • the management service 110 through communication between the server system 100 and the sellers 106, may provide information to the sellers 106.
  • Such information may include analytics about items offered for sale by the seller, such as how many user provided images include a representation of each item, purchase history for items, etc.
  • FIG. 2 is a block diagram of an example implementation for listing items for sale by a seller through multiple channels, according to an implementation.
  • the example implementation begins with a seller 206 creating a seller offering for items in which users can purchase items available for sale directly from the seller.
  • the seller may create their own e-commerce website, may create a website that is hosted by an E- commerce platform provider, such as SHOPIFY, MAGENTO, BIGCOMMERCE, VOLUSION, BIGCARTEL, 3DCART, etc.
  • the seller is associated with a payment processor, such as AUTHORIZE.NET, STRIPE, PAYPAL, BALANCED, that processes and authorizes purchase requests from users.
  • the seller 206 creates an account, referred to herein as a merchant account, with the management service 210.
  • the merchant account enables the management service 210 and the seller 206 to share information.
  • the seller 206 creates a merchant account and is presented with a dialog requesting that the management service 210 be authorized to share information with the seller.
  • the management service 210 sends a token via the network 208 to the seller and requests seller information from the seller so that the seller and the management service 210 can establish a communication link and exchange information over the network 208.
  • the token may be used by the seller 206 to identify information sent by the management service 210 as being associated with the seller 206.
  • the seller sends the seller information to the management service 210 and the management service 210 uses that seller information to identify information received from the seller as associated with the seller 206 and to authorize the seller 206 to sell items through the management service.
  • seller information needed to authorize the seller 206 may include, but is not limited to, transaction history information, chargeback ratio, duration the seller has been selling items, seller contact information, etc.
  • a link is established between the seller and the management service such that the seller can send information to the management service 210 and the management service 210 can send information to the seller.
  • an item catalog is created by the seller 206.
  • the item catalog identifies each item that the seller 206 desires to sell through the host site that is maintained by the management service 210.
  • the item catalog may identify the item, a source location identifier, such as Uniform Resource Locator ("URL") of a web page of the seller's website from which the item may be viewed and/or purchased from the seller, an image of the item, item information, image information, a quantity available for sale, a price, shipping information, a description of the item, item category information, item size, item shape, item color, etc.
  • URL Uniform Resource Locator
  • the item catalog, and/or portions thereof may be periodically updated by the seller so that the management service has current information regarding the items that the seller is offering for sale through the management service. For example, if a unit of an item is sold directly by the seller, the item catalog may be automatically updated so that the units available for sale through the management service is accurate. This may be done without any involvement from the seller.
  • the seller 306 provides the item catalog to the management service 310.
  • the item catalog is delivered over the network 308 to the management service 310 and the management service 310 stores the item catalog in an item catalog data store 315.
  • the management service 310 upon receiving an item catalog from the seller 306, processes user provided images that are stored in the image data store 313, referred to as stored images, to determine if any of the stored images include a representation of an item identified in the item catalog as an item offered for sale by the seller.
  • Processing of the stored images may be incrementally performed.
  • an initial processing may include comparing a source location identifier, such as a URL, listed in the item catalog for an item, with a source location identifier included in the image information of the stored images to determine if any of the source location identifiers are the same or similar.
  • the source location identifiers are URLs
  • it may be determined that a source location identifier of an existing image is the same as a source location identifier listed in the item catalog if the two URLs are the same.
  • a source location identifier of a stored image is similar to a source location identifier listed in the item catalog if the two URLs have a same domain address (are from the same website or domain).
  • the stored image may also be processed using one or more image processing algorithms to determine if the stored image is similar to the image or image information included in the item catalog that corresponds with the similar source location identifier. For example, a hash value may be determined for the stored image and compared to a hash value included in the item catalog. Alternatively, one or more image processing algorithms, such as an edge detection algorithm, object detection algorithm, etc., may be utilized to determine features of the stored image, which may be represented as feature vectors.
  • image processing algorithms such as an edge detection algorithm, object detection algorithm, etc.
  • Images provided with the item catalog may likewise be processed to generate feature vectors (or feature vectors may be provided with the item catalog).
  • the feature vectors of a stored image may then be compared with feature vectors for the item(s) identified in the item catalog with the similar source location identifier and, if the feature vectors are similar, it may be determined that the stored image includes a representation of an item offered for sale by the seller.
  • the additional processing of the images may likewise be performed for images with a same source location identifier.
  • a source location identifier may be any location, physical or virtual, that is associated with an item and/or any other identifier that can be used to identify the item.
  • a source location identifier may be a URL of a webpage at which information relating to the item may be obtained.
  • the source location identifier may include physical coordinates of one or more physical locations (e.g., physical stores of the seller) where the item may be viewed and/or purchased.
  • a user provided image may include location information, such as global positioning system (GPS) coordinates, that are compared with the coordinates included in the item catalog.
  • GPS global positioning system
  • the source location identifier may include a universal product code (UPC), barcode, bokode, etc. that is associated with the item.
  • UPC universal product code
  • stored images that are not matched to an item of the item catalog as part of the initial processing may be further processed. For example, using the feature vectors for the processed stored image, it may be determined if an item is represented in the image and, if so, a category for the item may be determined. For example, the management service may maintain a list of item categories and
  • Item categories may be any type of classification or categorization of items.
  • item categories may include shoes, shirts, bags, sporting equipment, clothing, hats, cars, etc.
  • feature vectors, colors, shapes, and/or other characteristics of items associated with that category are maintained and may be used to compare with feature vectors and/or other information of the stored image. If there is a similarity between the feature vectors and/or other information associated with the item category and the feature vectors and/or other information of the stored image, the stored image may be associated with that item category.
  • the seller and/or items identified in the item catalog as offered for sale by the seller may also be associated with an item category.
  • Associating items identified by a seller as associated with a category may be done in a similar manner to that discussed above with respect to associating a stored image with a category.
  • the seller may identify the category for the item, for example, by identifying an item category for each item listed in the item catalog.
  • the item category determined for the stored image corresponds to an item category associated with the seller and/or the item catalog provided by the seller, it may be determined that the stored image potentially includes a representation of an item offered for sale by the seller. If the stored image does include a representation of an item that may be listed in the item catalog, additional processing may be performed to determine the item represented in the image. The additional processing may include additional analysis of the stored image and/or comparison of the feature vectors and/or other image information between the stored image and items of the item catalog associated with the same item category. In another example, the stored image may be manually reviewed by a human and compared to items listed in the item catalog having the same item category to determine if the item represented in the image corresponds to an item listed in the item catalog.
  • the human may be an employee of the management service 310, an independent reviewer, a user (or group of users) of the management service 310, a representative or employee of the seller 306, etc.
  • the management service establishes an association between the item listed in the item catalog and the stored image and stores the association in the mappings data store 311.
  • the management service may establish an association between the stored image and the seller 306 and maintain that association in the mappings data store 311.
  • the management service 310 determines the association between the stored image and the item offered for sale by the seller and presents seller information and/or a purchase control with the presentation of the image of the item.
  • a user 401 may also provide an image that may be matched with an item offered for sale by a seller.
  • the user 401 using a client device 404, provides an image to the management service 410 via the network 408.
  • the management service upon receiving the image, stores the image in the image data store 413, processes the provided image, and compares the processed image with the items identified in the item catalog data store 415 to determine if the user provided image includes a representation of an item offered for sale by a seller. Processing of the user provided image may be performed in a similar incremental manner as that discussed above with respect to FIG. 3.
  • a source location identifier of the user provided image may be compared with source location identifiers maintained in the item catalog data store 415, the user provided image may be processed to generate feature vectors that are compared with feature vectors for items identified in the item catalog data store 415, image information associated with the user provided image may be compared with image information from the item catalog data store 415, etc.
  • FIGs. 5 - 6 are block diagrams of an example implementation of facilitating a purchase of a represented item by a user, according to an implementation.
  • the example implementation begins with a user 501 requesting, through a client device 504, to view an image that was provided by a user (the user 501 or any other user) to the management service 510 and stored in the image data store 513.
  • the request is sent from the client device 504 to the management service 510 through a network 508.
  • the management service 510 upon receiving the user's request, queries the mappings data store 511 to determine any associations between the requested image and items offered for sale by a seller. If an association exists between the image requested by the user and an item offered for sale by a seller, as identified in the item catalog data store 515, the management service 510 provides the requested image and a purchase control that is presented to the user. As discussed further below, the purchase control is selectable by the user to obtain additional details about the item represented in the requested image and/or to initiate a purchase of the item from a seller that offers the item for sale. In some implementations, the management service 510 may also provide seller information identifying the seller of the item represented in the image.
  • the management service 510 may also send a request to the seller 506 for item variants related to the item represented in the image that is available for purchase from the seller 506.
  • the seller may periodically send item variant update information to the management service 510.
  • sellers 506 may specify update intervals (e.g., every hour, every day, weekly) and send item catalog and/or item variant updates to the management service that are maintained and used by the management service 510.
  • the seller 506 may be configured to send item variant updates to the management service 510 when an item variant changes (e.g., price changes, quantity available changes). In such
  • the management service 510 may utilize the previously provided and stored item variant information for the item represented in the requested image.
  • the request is sent to the management service 610.
  • the requested image and corresponding purchase control may be sent by the management service 610 to the client device 604, via the network 608, and presented to the user 601 on a display of the client device 604. If the user selects the purchase control, the request is sent by the client device 604, via the network 608, to the management service 610.
  • the management service 610 sends to the client device 604 item variant information corresponding to the item represented in the image and associated with the selected purchase control.
  • the item variant information may be sent with another image(s) of the item, additional details about the seller and/or the sale of the item.
  • the management service 610 may send to the seller 606, via the network, a reservation request requesting that the seller 606 temporarily reserve the item so that there is a quantity of the item available for sale to the user 601.
  • the purchase request is sent from the client device 604 to the management service 610 and the management service 610 facilitates a purchase of the item between the seller 606 of the item and the user 601.
  • the purchase of the item may be completed without the user 601 having to be redirected to the seller 606.
  • the management service 601 may obtain or have the information necessary to complete the purchase and send that information to the seller 606.
  • the user may provide purchase information, such as item details (e.g., size, color), quantity, delivery details (e.g., shipping speed, delivery destination), a payment credentials (e.g., credit card number, bank account number), and/or other information.
  • the management service may provide the purchase information to the seller and the seller may complete the purchase of the item for the user.
  • all aspects of the purchase may be performed by or on behalf of the seller 606, including communication with a payment processor for purchase authorization, updating an inventory count for the sale, etc.
  • a purchase confirmation is sent from the seller 606 back to the management service 610.
  • the management service may facilitate a payment (e.g., via a third party payment processor) by the user for the item on behalf of the seller and provide the seller with a payment confirmation.
  • the management service 610 may provide the seller with any item variants selected by the user (e.g., size, color, shipping option), a delivery destination specified by the user, etc.
  • the seller 606 upon completing the purchase and/or receiving a purchase confirmation, initiates delivery of the item to the user. For example, if the item is a physical good, the seller 606 may cause the item to be delivered to a user specified delivery location. Likewise, if the item is a digital good, the item may be transmitted from the seller to the user 601, for example, via the network 608. The management service 610 may provide a confirmation message to the user 601 that the purchase of the item from the seller 606 has been completed.
  • the implementations provide the ability to determine items represented in user provided images and match those items with a seller that offers the item for sale. While the examples described herein refer to a single seller as offering the item for sale, in other implementations, an item represented in a user provided image may be available for sale from multiple sellers. For example, if the item represented in the image is a sports shoe, that item may be available from multiple different sellers of sports shoes. In such an implementation, the user provided image of the item may be associated with each of the sellers and a mapping maintained in the mappings data store maintained by the management service. In some implementations, a single seller may be associated with the purchase control when the user provided image and the corresponding purchase control are sent to a requesting user.
  • FIG. 7 is a block diagram of a purchase process, according to an
  • the management service 710 may facilitate a purchase of an item between a user 701 and a seller 706.
  • a user of the management service may purchase an item from a seller other than the management service without ever leaving the website of the management service.
  • the seller is able to promote and sell their goods via the management service, even using images provided by users of the management service that are independent of the seller and/or the management service.
  • the management service 710 receives the purchase request and the selected item variants.
  • the management service may also maintain in the user profile data store purchase information (e.g., credit card, billing information, and delivery information) for the user, and/or the user may provide such information as part of the purchase request.
  • the management service 710 obtains all the information needed to enable the seller 706 to complete a purchase of the item.
  • the purchase information may include, a user name or identifier, address, billing address, item information, selected item variants, shipping information, price, payment credentials, etc.
  • some of the purchase information may be maintained in a data store of the management service. For example, if the user has established a user account with the management service, the user's profile may include the user name or identifier, address, shipping information, billing address, and/or payment credentials.
  • the payment credentials such as a credit card may be stored in a payment credential vault 703, which may be maintained by a third party, such as
  • a token may be associated with that payment credential that is provided to the management system and maintained in the user profile.
  • the provided payment credential may be sent by the management service 710 to payment credential vault 703 and the payment credential vault 703 may provide a token representative of the payment credential back to the management service.
  • the token provided by the payment credential vault is included in the purchase information.
  • the purchase information may be sent directly from the management service 710 to the seller 706.
  • the payment processor 702 used by the seller 706 to process payments is the same entity as the payment credential vault 703
  • the purchase information with the token may be sent directly to the seller 706 and the seller may in-tum send the token to the payment processor 702 for payment processing and authorization.
  • the payment processor 702 having knowledge of both the token and the payment credential associated with the token, is able to process and authorize the purchase based on the associated payment credential.
  • the seller 706 may forward the received token to the payment credential vault 703 and the payment credential vault will send the payment credentials to the seller and/or to the payment processor associated with the seller to enable processing and authorization of the payment for the item to be purchased.
  • the payment credential vault may determine that the intended recipient of the payment credential is compliant with one or more standards, such as the payment card industry (PCI) compliance standards.
  • transmission of the payment credentials may be sent using a secure connection.
  • a purchase identifier that identifies the purchase and/or a seller identifier that identifies the seller of the item may be included with the token and sent to the payment credential vault 703.
  • the purchase information may be sent to the seller 706 along with the purchase identifier.
  • the purchase identifier is then used by the seller 706 and the payment credential vault 703 to coordinate and confirm payment for the purchase.
  • the purchase information with the token may be sent from the management service to the payment credential vault 703 along with a seller identifier that indicates the seller to which the payment information is to be forwarded.
  • the payment credential vault upon receiving the purchase information, replaces the token with the payment credential and sends the purchase information with the actual payment credential to the seller 706.
  • the payment credential vault may determine that the intended recipient of the payment credential is compliant with one or more standards, such as the PCI compliance standards.
  • transmission of the payment credentials may be sent using a secure connection.
  • the seller upon receiving the payment credentials, provides the payment credentials to the associated payment processor 702 for processing and authorization.
  • the payment processor 702 processes and confirms that the payment is authorized and sends back to the seller 706 a payment transaction identifier and an indication that the payment is authorized.
  • the seller in response, may send a purchase confirmation back to the management service 710 confirming that the purchase is complete.
  • the purchase confirmation sent from the seller 706 to the management service 710 is sent directly from the seller 706 to the management service 710.
  • the purchase confirmation may be sent from the seller 706 to the management service 710, via the payment credential vault 703.
  • the management service 710 upon receiving the purchase confirmation, may send a notification to the user confirming that the seller has confirmed purchase of the item.
  • the funds may be retrieved from the payment processor and the transaction completed.
  • the payment processor If the payment processor is not able to authorize the payment, the payment processor sends back to the seller a payment not authorized notification. If the payment is not authorized, one or more reasons (e.g., invalid payment information) may be provided with the payment not authorized notification. The seller 706 may then send to the management service 710 the reason for the failure and the management service 710 may obtain from the user the needed information in an effort to complete the payment.
  • reasons e.g., invalid payment information
  • the user is able to purchase an item directly from the seller 706 through the management service 710 without the management service having to transmit the payment credentials to the seller.
  • FIG. 8 is a block diagram of another purchase process, according to an implementation.
  • the management service 810 may facilitate a purchase of an item between a user 801 and a seller 806.
  • a user of the management service may purchase an item from a seller other than the management service without ever leaving the website of the management service.
  • the seller is able to promote and sell their goods via the management service, even using images provided by users of the management service that are independent of the seller and/or the management service.
  • the management service 810 receives the purchase request and the selected item variants.
  • the management service may also maintain in the user profile data store purchase information (e.g., credit card, billing information, and delivery information) for the user, and/or the user may provide such information as part of the purchase request.
  • payment for the item may be completed differently.
  • the seller of the item may maintain a payment account with a third party payment
  • the processor 802 that accepts payments for purchases facilitated by the management service 810. In such a configuration, no purchase details of the user are provided to the seller 806 and the seller remains the seller of record. When a purchase is made, the payment is processed by the third party payment processor 802 and made to the seller's account that is maintained by the third party payment processor 802. In another configuration, the seller may be their own payment processor. In such a configuration, the user's purchase details may be provided from the management service 810 to the seller 806 and the seller may process payment for the item.
  • the management service 810 upon receipt by the management service 810 of a purchase request from a user 801 , the total cost for the purchase (e.g., price, tax, shipping), the payment token that identifies the purchase transaction and the seller identifier is sent to the payment processor 802 (either the third party payment processor, or the payment processor of the seller).
  • the payment processor 802 processes and confirms that the payment is authorized and sends back to the management service 810 a payment transaction identifier and an indication that the payment is authorized.
  • the management service upon receiving the payment transaction identifier, sends the payment transaction identifier to the seller 806 confirming that the purchase has been authorized.
  • the seller may send a purchase confirmation back to the management service 810 confirming that the purchase is complete.
  • the management service may send a notification to the user confirming that the seller has confirmed purchase of the item.
  • the funds may be retrieved from the payment processor and the transaction completed.
  • the management service 810 may prepare a fully configured order that includes the item to be purchased, item variant information (e.g., quantity, color, size), shipping information, user information necessary for the seller to complete a sale of the item to the user (e.g., user information, payment information), and the like.
  • the fully configured order may then be sent directly to the seller 806.
  • a seller 806, upon receiving a fully configured order from the management service 810 processes the order and returns to the management service 810 either a purchase confirmation or an error indicating that the purchase was not completed for one or more reasons (e.g., invalid payment information).
  • the management service 810 may send a notification to the user 801 confirming that the seller has confirmed purchase of the item or that there was an error with the purchase request. If an error occurred, the management service 810 may obtain from the user, information needed to resolve the error and provide that information to the seller 806 so that the purchase of the item from the seller can be completed.
  • multiple items may be represented in a single user provided image.
  • the image may be segmented based on the various positions of the represented items, sellers determined for the different items, and different purchase controls presented with each of those items.
  • FIG. 9 illustrated is a representation of a segmented user provided image that includes a plurality of items offered for sale by different sellers, according to an implementation.
  • An image such as image 900, may be segmented using image segmentation techniques. For example, a background of the image may be determined (e.g., based on out of focus regions and/or similar colors) and removed from processing.
  • six objects have been identified and the image segmented into six different regions. Specifically, a body object 902, a head object 904, a shirt object 906, a pants object 908, a bags object 910, and a shoes object 912.
  • the root object in this example the body object 902 was determined and the location of other objects 904 - 912 considered when identifying those other objects. Segmentation of images is described in further detail in U. S. Patent Application No. 14/279,871 entitled "Image Based Search,” which is herein incorporated by reference in its entirety.
  • an image may be segmented using other
  • images may be segmented using crowd sourcing techniques. For example, as users view an image, they may select regions of the image that include objects and the image may be segmented based on the location of objects within the image. As more users identify objects within images, the confidence of the identity of those objects increases. Based on the user provided segmentation and identification, the objects within the image can be identified and a determination made as to whether the object is an item offered for sale by a seller. [0088] For example, each segment may be processed to generate feature vectors for the item represented in the segment and those feature vectors may be compared with feature vectors associated with items identified in the item catalog data store.
  • the segments of the image may be processed and the item classified into one or more categories.
  • the shirt object 906 of the image 900 may be processed to detect the object (shirt) represented in the segment that contains the shirt object 906 and the segment may be associated with a category representative of shirts (or another relevant category).
  • the representation of the object (shirt) may be compared with items offered for sale by sellers associated with the category shirts and/or compared with items offered for sale that are associated with the category shirts to determine if the object represented in the segment of the image corresponds with an item offered for sale by a seller. This processing may be done for each object and/or segment of the image to determine items represented in the image that are offered for sale by one or more sellers.
  • FIG. 10 is a representation of a segmented image 1000 presented on a display of a client device 1004 with purchase controls associated with objects of the image that are determined to be items offered for sale by one or more sellers, according to an
  • a purchase control may be presented near the determined item that is selectable by the user.
  • a shirt 1006 has been determined in a first segment 1005 of the image 1000 and a purchase control 1026 is presented near the presentation of the shirt.
  • a bag 1010 has been determined in a second segment 1009 of the image and a purchase control 1020 is presented near the presentation of the bag.
  • a pair of pants 1008 has been determined in a third segment 1007 of the image 1000 and a purchase control 1028 is presented near the presentation of the pants 1008.
  • a pair of shoes 1012 has been determined in a fourth segment 101 1 of the image 1000 and a purchase control 1022 is presented near the presentation of the shoes 1012.
  • the segment 1003 that includes the object of a person's head is determined to not include an item that is offered for sale by the seller. Because the object (person's head) represented in the segment 1003 is determined to not be an item offered for sale by a seller, a purchase control is not presented near the presentation of that object.
  • FIG. 1 1 is a representation of an item and item variants for the shirt item, according to an implementation.
  • the information 1100 presented on the display of the client device 1 104 is generated in response to the user selecting the purchase control 1026 (FIG. 10) associated with the shirt item.
  • the purchase control 1026 upon selection of the purchase control 1026, an additional view 1 110 of the shirt item is presented to the user along with a name 1 106 of the seller of the item, in this example Seller A, from which the item may be purchased.
  • a name of the item "Summer Casual Shirt For Her" 1 108 may also be included in the presented information 1100.
  • the management service may also obtain and provide item variant information 1 112, such as a size, fit, color, shipping method, and/or quantity of the shirt.
  • the user may alter or select item variant information by, for example, interacting with the presentations of the item variant information.
  • a user may also be presented with purchase and/or shipping information 1 114 that is currently associated with the user of the client device 1 104 that will be used by the management service to facilitate a purchase of the item if the user selects the "Buy Now" control 11 16.
  • a user may alter the purchase and/or shipping information 11 14 by selecting the "Edit" control 11 18 and providing or selecting alternative information.
  • the user profile maintained by the management service that is associated with the user may include credit card information, as illustrated, that is used to facilitate a purchase between the user and the seller of the item.
  • other forms of payment such as bank transfers, e-commerce payment processors, etc. may likewise be utilized.
  • a discount code 11 19 or other promotion may be associated with the item represented in the additional view 11 10.
  • the discount code 11 19 may be automatically identified and included in the information 1 100 presented on the display of the client device 1 104.
  • the discount code 11 19 is provided by the seller as an item variant for the item.
  • a user may alter, update or provide a discount code 1 119 by selecting the discount code 1119 and providing such information.
  • the additional view 11 10 of the item may be in the form of a digital still image, a video file, an animated .gif file, etc.
  • the additional view 1 110 may include a presentation of an animated .gif file that can be manipulated by a user to alter a presented view of the item.
  • the client device 1 104 includes a touch-based display
  • a user may manipulate or control the presentation of the .gif file by moving their finger on the touch-based display to obtain different views of the presented item.
  • the user may control the presentation of the image and rotate the image to obtain front, back, side and/or other views of the image, effectively providing a 360 degree view of the image.
  • a user may view and/or provide comments, reviews, ratings, and/or other information related to the item represented in the additional view 1 110.
  • a user may also be presented with an identification of related items often viewed or purchased with the item represented in the additional view 1 110.
  • a related item is an item that is often purchased with the item or view by users when viewing the item represented in the additional view 1 110. For example, if other users of the management service often purchase the item "Summer Causal Shirt For Her" from Seller A and also purchase a pair of matching shorts, the information 1100 may also identify the pair of matching shorts to the user as an item that is often purchased with the item represented in the additional view 1110. The user may obtain additional information about the pair of matching shorts by selecting the identified pair of matching shorts.
  • FIG. 13 illustrates an example process 1300 for matching sellers with items, according to an implementation.
  • the example process 1300 and each of the other processes described herein are illustrated as a collection of blocks in a logical flow graph.
  • blocks represent operations that can be implemented in hardware, software, or a combination thereof.
  • the blocks represent computer- executable instructions stored on one or more computer-readable media that, when executed by one or more processors, perform the recited operations.
  • computer- executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types.
  • the computer-readable media may include non-transitory computer-readable storage media, which may include hard drives, floppy diskettes, optical disks, CD-ROMs, DVDs, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, flash memory, magnetic or optical cards, solid-state memory devices, or other types of storage media suitable for storing electronic instructions.
  • the computer-readable media may include a transitory computer- readable signal (in compressed or uncompressed form). Examples of computer-readable signals, whether modulated using a carrier or not, include, but are not limited to, signals that a computer system hosting or running a computer program can be configured to access, including signals downloaded or uploaded through the Internet or other networks.
  • the example process 1300 begins by determining if there is a source location identifier, such as a URL, GPS coordinates, barcode, etc., included in the image information of a user provided image, as in 1302.
  • a user provided image may be already stored in an image data store of the management service or may be provided to the management service by the user.
  • the user provided image may be any image or representation of an object that is provided by the user to the management service.
  • the user provided image may be an image obtained with an image capture device of a user's client device, an image copied from another website, an image from an electronic message, etc.
  • An image may include a source location identifier, such as a URL, if the image is obtained from another location (e.g., a website) on a network, such as the Internet.
  • the source location identifier may identify a physical location at which the image was captured by an image capture device (camera). For example, when a camera obtains an image, it may include in the image information the GPS coordinates (latitude and longitude) identifying the position of the image capture device when the image was obtained.
  • the example process 1300 proceeds to the example process 1400 discussed below with respect to FIG. 14. However, if it is determined that the user provided images does include a source location identifier, the source location identifier of the user provided image is compared to source location identifiers maintained in the item catalog data store, as in 1304. As discussed above, the item catalog data store maintains a list of items offered for sale by one or more sellers. As the source location identifiers are compared, a determination is made as to whether the source location identifier of the user provided image matches a source location identifier of an item identified in the item catalog, as in 1306.
  • the example process 1300 proceeds to the example process 1400 discussed below with respect to FIG. 14. If it is determined that the source location identifier of the user provided image does match a source location identifier of an item in the item catalog data store, the user provided image is associated with the corresponding item from the item catalog data store and/or the seller that offers the item for sale, as in 1308. This association is maintained in the mapping data store by the management service.
  • the presentation of the image will include a purchase control and/or seller information, as in 1310.
  • the purchase control as discussed above, may be selected by the user to obtain additional information about the item represented in the user provided image and/or to initiate a purchase of the item.
  • the seller information identifies a seller of the item represented in the image.
  • the seller information may identify one of the sellers, a seller determined based on a provided advertising amount for the item, multiple sellers, provide an indication that more than one seller is offering the item represented in the user provided image for sale, etc.
  • a user requesting to view the user provided image may be the user that provided the image, or any other user of the management service.
  • FIG. 13 describes matching a user provided image with a seller if the source location identifier of the user provided image matches the source location identifier of an item listed in the item catalog data store
  • additional analysis may be performed before the user provided image is determined to include a representation of the item offered for sale by the seller.
  • the user provided image may be processed to determine if the image is similar to or matches the image or the image information included with the item identified in the item catalog as having a matching source location identifier.
  • additional image information such as a creation date, file size, hash value, color histogram, etc., may be compared to obtain additional confirmation that the user provided image includes a representation of the item offered for sale by the seller.
  • all or a portion of FIG. 14 may be performed in conjunction with the example process 1300.
  • FIG. 14 illustrates an example process 1400 for processing a user provided image to match an item represented in the image with a seller of the item, according to an implementation.
  • the example process 1400 begins by receiving the image from a user, as in 1402.
  • the received image is then processed using one or more image processing algorithms, such as edge detection, object detection, grey scale analysis, etc., to determine objects represented in the image, as in 1404.
  • image processing algorithms such as edge detection, object detection, grey scale analysis, etc.
  • feature vectors representative of the image and/or objects within the image may also be generated.
  • image information such as source location identifier, comments added by the user that provided the image, comments added by users that viewed and/or shared the image, the time, date and/or location associated with the image, etc.
  • image information such as source location identifier, comments added by the user that provided the image, comments added by users that viewed and/or shared the image, the time, date and/or location associated with the image, etc.
  • the management service may maintain a list of item categories for items that are offered for sale by different sellers.
  • Each item category may include one or more item characteristics, such as a description, representative images of items associated with the item category, representative shapes, sizes and/or colors of items that may be associated with the item category, etc.
  • a seller may be associated with an item category based on the types of items that the seller offers for sale.
  • items offered for sale may be associated with one or more item categories based on the item type.
  • the processed image and/or image information is compared with the characteristics of each item category to determine if the object represented in the image is similar to an item category. For example, the size, shape and/or color of the determined object may be compared with the size(s), shape(s), and color(s) characteristics of an item category to determine a similarity between the obj ect and the item category.
  • the image is sent for manual review and categorization, as in 1410.
  • Manual review and categorization may include one or more humans reviewing the user provided image to determine a category for the object represented in the image.
  • the human(s) may be an employee of the management service, a user of the management service, a seller, etc.
  • similarities between the object represented in the user provided image and the images of the item catalog associated with the determined category are determined, as in 1412.
  • the processed image information e.g., feature vectors, histogram
  • image information relating to the images corresponding to the items identified in the item catalog may be compared with image information relating to the images corresponding to the items identified in the item catalog to determine a similarity between the images.
  • a probability is determined for the stored image having the highest similarity to the user provided image, indicating how likely it is that the stored image corresponds to the user provided images, as in 1414.
  • the probability may be based on a difference between the determined similarity scores. For example, if the highest similarity score is 95% and the next highest similarity scores are 45% and 34%, there may be a high probability that the stored image having the highest similarity score corresponds with the user provided image.
  • the highest similarity score is 95% and the next highest similarity scores are 94% and 93%, even though the images are similar, there is a low probability that the stored image with the highest similarity score corresponds to the user provided image because any of those images may actually include the item represented in the user provided image.
  • the confidence threshold may be any number, score, or other indicator that must be achieved for the probability score to exceed the threshold.
  • the confidence threshold may be different for different images, different users, different times of day, etc.
  • the image is sent for manual association by one or more humans, as in 1418.
  • the image, image data, stored images associated with items in the item catalog corresponding to the same category, and/or the stored images having the highest similarity scores may also be sent to the one or more humans for manual association.
  • the one or more users may be employees of the management service, employees of the potential seller of the item, users of the management service, etc.
  • the user provided image is associated with the item identified in the item catalog and/or the seller of the item identified in the item catalog, as in 1420. This association is maintained in the mapping data store by the management service.
  • the presentation of the image will include a purchase control and/or seller information, as in 1422.
  • the purchase control as discussed above, may be selected by the user to obtain additional information about the item represented in the user provided image and/or to initiate a purchase of the item.
  • the seller information identifies a seller of the item represented in the image.
  • the seller information may identify one of the sellers, a seller based on a provided advertising amount for the item, multiple sellers, provide an indication that more than one seller is offering the item represented in the user provided image for sale, etc.
  • a user requesting to view the user provided image may be the user that provided the image, or any other user of the management service.
  • FIG. 15 illustrates an example purchase request process 1500, according to an implementation.
  • the example process 1500 begins upon selection by a user of the purchase control, as in 1502.
  • a purchase control is presented with a user provided image when the user provided image is determined to include a
  • the seller Upon receiving a selection of a purchase control, the seller is queried for current item variant information corresponding to the item represented in the image, as in 1504. As discussed above, in some implementations, the seller may be queried for item variant information in response to selection of a purchase control, the seller may periodically send item variant information to the management service, and/or the seller may provide updates to item variant information when an item variant changes.
  • the example process 1500 also sends to the client device of the user, item details and current item variant information for presentation to the user, as in 1506.
  • the presentation to the user may include additional views of the item, current item variant information, purchase details, etc.
  • the user may modify and/or select particular item variants for the item that may be used to complete a purchase of the item. For example, the user may select a particular size, color, and/or other variants for an item that may be used in the purchase and/or delivery of the item.
  • purchase details e.g., delivery destination, credit card information, delivery time
  • the example process 1500 receives from the seller a purchase identifier that identifies the purchase transaction and purchase details (e.g., shipping fee, identification tag, shipping time), as in 1512.
  • purchase details e.g., shipping fee, identification tag, shipping time
  • the example process 1500 facilitates purchase of the item between the user and the seller, as in 1514. Additional details for facilitating purchase of an item between a user and a seller of the item are discussed in above with respect to FIGs. 7 and 8. Finally, once the purchase has been completed, a purchase confirmation is sent to the user, as in 1516.
  • the purchase confirmation may be sent in the form of a presentation on the user's client device, an electronic message ("e-mail"), a text message, etc.
  • FIG. 16 illustrates an example purchase execution process 1600, according to an implementation.
  • the example process 1600 provides additional details corresponding to box 1514 (FIG. 15).
  • the example process 1600 begins by obtaining purchase information and a payment token, as in 1604.
  • the purchase information may include an identification of the item, quantity desired, shipping details (e.g., delivery address, shipping speed), selected item variants (e.g., size, color, etc.).
  • the payment token is a unique identifier provided by a payment credential vault that is associated with a payment credential selected by the user purchasing the item that will be use to authorize the purchase. If the payment token is not already stored, the payment credentials may be obtained from the user, provided to the purchase credential vault, and a payment token obtained.
  • the purchase information, without the payment credentials, and the payment token are sent to the seller that sells the item to be purchased by the user, as in 1606.
  • the purchase information and payment token may be sent from the management service to the seller via a payment credential vault.
  • the payment credential vault upon receiving the purchase information and payment token, provides to the seller the purchase information and the payment credentials represented by the token so that payment can be processed for the item.
  • the seller processes the payment using their own or associated payment processor as if the purchase were being made directly with the seller.
  • the payment processor may be the same or different entity than the payment credential vault.
  • the payment credential vault may process the payment for the item based on the token received from the management service.
  • the seller sends a purchase confirmation back to the management service.
  • the purchase confirmation may be sent by the seller directly back to the management service and/or via the payment credential vault. If the purchase was not confirmed, the seller sends a failure and/or request for additional information back to the management service.
  • FIG. 17 is a pictorial diagram of an illustrative implementation of a server system, such as the server system 1700 that may be used in the implementations discussed herein.
  • the server system 1700 may include a processor 1701, such as one or more redundant processors, a video display adapter 1702, a disk drive 1704, an input/output interface 1706, a network interface 1708, and a memory 1712.
  • the processor 1701, the video display adapter 1702, the disk drive 1704, the input/output interface 1706, the network interface 1708, and the memory 1712 may be communicatively coupled to each other by a communication bus 1711.
  • the video display adapter 1702 provides display signals to a local display (not shown in FIG. 17) permitting an operator of the server system 1700 to monitor and configure operation of the server system 1700.
  • the input/output interface 1706 likewise communicates with external input/output devices not shown in FIG. 17, such as a mouse, keyboard, scanner, or other input and output devices that can be operated by an operator of the server system 1700.
  • the network interface 1708 includes hardware, software, or any combination thereof, to communicate with other computing devices.
  • the network interface 1708 may be configured to provide communications between the server system 1700 and other computing devices, such as the client device 104, via the network 108, as shown in FIG. 1.
  • the memory 1712 generally comprises random access memory (RAM), read- only memory (ROM), flash memory, and/or other volatile or permanent memory.
  • RAM random access memory
  • ROM read-only memory
  • BIOS binary input/output system
  • the memory 1712 additionally stores program code and data for providing network services that allow client devices and sellers to exchange information and data files with the server system 1700 and/or the management service 1710.
  • a data store manager application 1720 facilitates data exchange and mapping between the mappings data store 171 1 , the image data store 1713, the item catalog data store 1715, and/or the user profile data store 1717, client devices, such as the client device 104 shown in FIG. 1 , and/or sellers, such as the sellers 106 shown in FIG. 1.
  • the term "data store” refers to any device or combination of devices capable of storing, accessing and retrieving data, which may include any combination and number of data servers, databases, data storage devices and data storage media, in any standard, distributed or clustered environment.
  • the server system 1700 can include any appropriate hardware and software for integrating with the data stores 171 1, 1713, 1715, 1717 as needed to execute aspects of one or more applications for the client device, the sellers and/or the management service 1710.
  • the server system 1700 provides access control services in cooperation with the data stores 1711 , 1713, 1715, 1717 and is able to generate content such as text, graphics, audio, video and/or images to be transferred to a client device and/or sellers.
  • the data stores 171 1, 1713, 1715, 1717 can include several separate data tables, databases or other data storage mechanisms and media for storing data relating to a particular aspect.
  • the data stores 171 1, 1713, 1715, 1717 illustrated include mechanisms for storing images, user information, mappings and item catalogs from sellers of items, which can be used to generate and deliver content to client devices and/or sellers (e.g., user provided images and purchase controls) and control actions to be performed.
  • the data stores 171 1 , 1713, 1715, 1717 are operable, through logic associated therewith, to receive instructions from the server system 1700 and obtain, update or otherwise process data in response thereto.
  • the memory 1712 may also include the management service 1710, discussed above.
  • the management service 1710 may be executable by the processor 1701 to implement one or more of the functions of the server system 1700. In one
  • the management service 1710 may represent instructions embodied in one or more software programs stored in the memory 1712. In another implementation, the management service 1710 can represent hardware, software instructions, or a combination thereof. [0134]
  • the server system 1700 in one implementation, is a distributed environment utilizing several computer systems and components that are interconnected via communication links, using one or more computer networks or direct connections.
  • FIG. 17 should be taken as being illustrative in nature and not limiting to the scope of the disclosure.
  • a computer-implemented method comprising:
  • Clause 2 The computer-implemented method of clause 1, further comprising: receiving from the seller, item variant information, wherein the item variant information identifies at least one of a price for the item, a size of the item, or a color of the item.
  • Clause 3 The computer-implemented method of clause 1, wherein presenting the image and the purchase control further includes, presenting seller information identifying the seller of the item.
  • Clause 4 The computer-implemented method of clause 1, further comprising: storing the image in an image data store maintained by the management service;
  • a non-transitory computer-readable storage medium storing instructions, the instructions when executed by a processor causing the processor to at least:
  • the seller associates the first image with the seller; and present the first image and seller information to a second user, wherein the seller information identifies the seller of the first item represented in the first image.
  • Clause 6 The non-transitory computer-readable storage medium of clause 5, the instructions when executed by the processor further causing the processor to at least: present a purchase control selectable by the second user to initiate a purchase of the first item from the seller.
  • Clause 7 The non-transitory computer-readable storage medium of clause 6, the instructions when executed by the processor further causing the processor to at least: receive from the second user, a selection of the purchase control; and
  • the item variant information includes at least one of a shipping cost for the item, a shipping time for the item, a shipping method for the item, a size of the item, a color of the item, or a quantity of the item.
  • Clause 8 The non-transitory computer-readable storage medium of clause 7, wherein the item variant information is obtained from the seller in response to receipt of the selection of the purchase control.
  • Clause 9 The non-transitory computer-readable storage medium of clause 7, wherein the item variant information is periodically received from the seller and maintained by the management service.
  • the item information includes at least one of a second image representative of the item, a source location identifier associated with the item, or item variant information;
  • the first item determines the first item based on a match between the first source location identifier and a stored source location identifier maintained in the item catalog data store.
  • Clause 12 The non-transitory computer-readable storage medium of clause 10, wherein the instructions when executed by the processor to cause the processor to determine the first item, further include instructions that cause the processor to at least: process the first image with an image processing algorithm to determine a first feature vector representative of the item represented in the image;
  • the first item determines the first item based on similarity between the first feature vector and a stored feature vector maintained in the item catalog data store.
  • Clause 13 The non-transitory computer-readable storage medium of clause 10, the instructions when executed by the processor further causing the processor to at least: process with an image processing algorithm, a plurality of images maintained in an image data store of the management service;
  • the first image includes a representation of a second item
  • the instructions when executed by the processor further causing the processor to at least:
  • Clause 15 The non-transitory computer-readable storage medium of clause 14, the instructions when executed by the processor further causing the processor to at least: present a first purchase control selectable by the second user to initiate a first purchase of the first item from the seller; and
  • a computing system comprising:
  • a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to perform a method comprising:
  • Clause 17 The computing system of clause 16, the method further comprising: determining that the item is available for purchase from a second seller; and presenting to the user an option to select to purchase the item from the first seller or the second seller.
  • Clause 18 The computing system of clause 16, the method further comprising: requesting that the first seller confirm that the first image includes a representation of the item;
  • determining that the first item represented in the first image corresponds with the item is further based at least in part on the confirmation.
  • the purchase is between the first user and the first seller, and the first seller delivers the item to the first user.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

This disclosure describes systems and methods for matching user provided images that include representations of items with sellers of those items. A management service, as described herein, may provide a web site where users can post images, view images, share images, correspond with other users, etc. The management service may identify items represented in the images and determine one or more sellers that offer those items for sale. When another user requests to view the user provided image, the image, seller information identifying the seller determined to sell the item represented in the image, and/or a purchase control that may be selected by a user to initiate a purchase with the seller is presented.

Description

MATCHING USER PROVIDED REPRESENTATIONS OF ITEMS WITH SELLERS OF THOSE ITEMS
[0001] This application claims the benefit of U.S. Application No. 14/964,307, filed December 09, 2015, entitled "Item Selling On Multiple Websites," which is a
continuation-in-part of U.S. Patent Application No. 14/726,929, filed June 1, 2015, entitled "Matching User Provided Representations Of Items With Sellers Of Those Items," and claims the benefit of U.S. Provisional Application No. 62/160,456, filed May 12, 2015 entitled "Matching User Provided Representations Of Items With Sellers Of Those Items," all of which are incorporated herein by reference in their entirety.
BACKGROUND
[0002] People are increasingly interacting with computers and other electronic devices in new and interesting ways. With the increased processing capabilities, connectivity and location tracking, electronic devices have become widespread and used in many everyday activities. For example, people often use electronic devices to search for products, watch videos, listen to music, research, shop for both digital and physical products ("e- commerce"), and receive news, just to name a few. Other uses include communicating with social communities, friends and family, photography, and many others. [0003] Sellers in the e-commerce market typically establish a website that may be visited by users to browse various web pages within the website that include product information relating to products offered for sale by the seller. A user may typically obtain product details, product reviews posted by other users, and/or purchase the item from the seller of the product. Upon purchase of the product, the seller will package and ship the item to a user specified delivery destination. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items.
[0005] FIG. 1 is a pictorial diagram of an illustrative environment that includes a server system and a client device communicatively connected via a network.
[0006] FIG. 2 is a block diagram of an example implementation for listing items for sale by a seller on multiple websites, according to an implementation. [0007] FIGs. 3 - 4 are block diagrams of an example implementation for matching a seller of an item with a user provided representation of the item, according to an implementation.
[0008] FIGs. 5 - 6 are block diagrams of an example implementation of facilitating a purchase of a represented item by a user, according to an implementation. [0009] FIG. 7 is a block diagram of a purchase process, according to an
implementation.
[0010] FIG. 8 is another block diagram of a purchase process, according to an implementation.
[0011] FIG. 9 is a representation of a segmented image, according to an
implementation.
[0012] FIG. 10 is a representation of a segmented image with purchase controls associated with represented items available for purchase from one or more sellers, according to an implementation.
[0013] FIG. 11 is a representation of an item and item variants available from the seller of the item, according to an implementation.
[0014] FIG. 12 is a representation of a purchase confirmation for an item, according to an implementation. [0015] FIG. 13 illustrates an example process for matching sellers with user provided representations of items, according to an implementation.
[0016] FIG. 14 illustrates an example process for processing a user provided image to match an item represented in the image with a seller of the item, according to an implementation.
[0017] FIG. 15 illustrates an example purchase request process, according to an implementation.
[0018] FIG. 16 illustrates an example purchase execution process, according to an implementation. [0019] FIG. 17 is a pictorial diagram of an illustrative implementation of a server system that may be used for various implementations.
[0020] While implementations are described herein by way of example, those skilled in the art will recognize that the implementations are not limited to the examples or drawings described. It should be understood that the drawings and detailed description thereto are not intended to limit implementations to the particular form disclosed but, on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word "may" is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words "include," "including," and "includes" mean including, but not limited to.
DETAILED DESCRIPTION [0021] This disclosure describes systems and methods for enabling sellers to sell items directly and also sell those items as a merchant through a management service without having to maintain separate inventory and/or purchase processing information with the management service. [0022] Currently, many e-commerce sellers advertise and sell items through their own website or application, which may be hosted by the seller or running on an e-commerce "shopping cart" platform (e.g., MAGENTO, SHOPIFY, BIGCOMMERECE). To enable purchases of items by users, the seller has a shopping cart and coordinates with a payment processor (e.g., AUTHORIZE.NET, PAYPAL, STRIPE, BALANCED) that actually processes the payment for items so that funds are transferred from the user to the seller.
[0023] With the rapid growth of e-commerce, sellers often find it necessary to increase their exposure to potential customers by, for example, participating as a merchant on a third party website or application that is maintained by a management service, and offering their items for sale through that management service. Merchants are typically required to pay to the management service a percentage or commission for each sale, and/or a recurring fee to have the privilege to offer items for sale through that management service. Likewise, the merchant must maintain a merchant account with the management service where they manually update inventory counts for items, post items for sale, adjust prices, manage shipping and order fulfillment, etc. While such an independent merchant account provides insight to the management service, it requires additional effort by the seller and presents problems with inventory management and order fulfillment, to name a few.
[0024] For example, if a seller has 5 units of item A that they intend to sell, the sellers must either allocate separate inventory quantities for each different selling channel (e.g., 3 units for their own direct sales and 2 units for the management service sales) or they must update the quantity available each time an item is ordered. For example, if the seller lists 5 available units on their own website and 5 available units through the management service, the seller will need to access the merchant account and update the quantity available through the management service each time a unit is sold directly by the seller. Likewise, each time a unit is sold through the management service, the seller will have to access their own website and update the quantity available.
[0025] Likewise, because the management service and the seller are independent, the host requires that order processing, payment, and order management be performed directly with the management service. As such, the seller may be required to coordinate with a first payment authorization entity for the seller and a second payment authorization entity for the merchant account with the management service. These duplicate efforts create additional work for the seller and potential for executing an order with a user in which the seller does not have any units on-hand - a bad customer experience.
[0026] As discussed further below, the described implementations enable a seller to offer items for sale directly and as a merchant through a management service without having to maintain separate inventory, manually update information with the management service, and/or manage orders from the management service. Each transaction made with the management service is sent to the seller for processing and completion, as if the user had purchased the item directly from the seller.
[0027] For example, a seller may create a merchant account with a management service such that the management service and the seller are authorized to exchange information. The seller sends to the management service an item catalog that identifies items offered for sale by the seller that may be purchased by users from the seller. The item catalog may identify, for each item, the item, a source location identifier, such as Uniform Resource Locator ("URL") of a web page from which the item may be viewed and/or purchased from the seller, an image of the item, item information, image information, etc.
[0028] The management service may be a service where users can post images, view images, share images, correspond with other users, purchase items, etc. The management service may use the information from the item catalog provided by the seller to determine if any of the images accessible by users of the management service include representations of items offered for sale by the seller. For example, in some instances, users of the management service may post an image to the management service that was obtained from another web page, such as a web page of the seller's website. In such an instance, the posted image may include image information, also known as metadata, which includes the URL from which the image was obtained. If the URL of the image provided by the user corresponds with a URL included in the item catalog, it may be determined that the image provided by the user to the management service includes a representation of an item available for purchase from the seller and the user provided image is associated with the item and/or the seller of the item. [0029] In another example, if the image provided by the user does not include a URL, or the URL included in the image information does not correspond with a URL from the item catalog, the image may be processed using one or more image processing algorithms to detect an item represented in the image. The processed image may then be compared with images and/or image information included in the item catalog provided by the seller to determine if an item offered for sale by the seller is represented in the image. If it is determined that an item offered for sale by the seller is represented in the image provided by the user, the user provided image is associated with the item and/or the seller of the item.
[0030] When the user, or another user of the management service, requests to view the user provided image that has been determined to include a representation of an item offered for sale by the seller, a purchase control is presented with the user provided image. In addition, seller information that identifies the seller and/or the item may likewise be presented with the presentation of the user provided image. The purchase control is selectable by the user viewing the image to obtain variant information about the item represented in the image and/or to purchase the item represented in the image from the seller. Item "variant information," as used herein, is additional information about the item and/or the sale of the item. For example, item variant information may include the quantity of the item available for sale by the seller, the price of the item, a size of the item, a color of the item, a shipping cost for shipping the item, a shipping time, and/or other information. [0031] If a user requests to purchase an item represented in a user provided image from a seller that has been determined to offer the represented item for sale, the management service facilitates the purchase between the user and the seller. For example, the management service may send an item reservation request to the seller to reserve one or more units of the item that may be purchased by the user viewing the item. If the user selects to purchase the item, rather than requiring the merchant to maintain a payment authorization service with the merchant account, the purchase information is provided from the management service to the seller. In some implementations, encrypted credit card information may be sent to the seller as part of the item information. In other implementations, the credit card associated with the user may be represented as a unique token managed by a vault service. The vault service, in a secure form, credit card information. The vault provider replaces the token with the credit card and provides the purchase information to the seller for authorization. The seller, upon authorizing the purchase, sends an authorization confirmation to the management service and the management service notifies the user that the purchase of the item from the seller has been completed.
[0032] By providing the purchase information to the seller, and allowing the seller to coordinate with their payment processor for purchase authorization, the seller need only maintain a single relationship with a payment processor, can manage all inventory at a single location, and need not independently update different merchant accounts.
[0033] In another example, in response to a purchase request, the management service may provide an item identifier, item information (e.g., selected variants), user identifier, etc. In some implementations, the management service may likewise facilitate payment by the user for the item, such as through a third party payment processor. Alternatively, payment information may be provided to the seller for processing of payment for the item. Finally, purchase of the item is completed and the seller may ship the item to the user.
[0034] An "item" may be anything that can be represented and offered for sale. For example, an item may be a physical good (clothing, hardware, paintings, etc.), a digital item (e.g., audio, video, image), a service (e.g., landscaping, banking, house painting).
[0035] FIG. 1 is a pictorial diagram of an illustrative environment that includes users 101 , such as users 101(1), 101(2) - 101 (N), a server system 100 that includes one or more server computers 100(1), 100(2) - 100(N), one or more client devices 104, such as client device 104(1), 104(2), 104(3) - 104(N), and one or more sellers 106, such as a Seller A 106(1), Seller B 106(2) - Seller C 106(N) communicatively connected via a network 108. As will be appreciated, any number and/or type of server systems 100, client devices 104 and/or sellers 106 may be included in the environment, and those illustrated in FIG. 1 are only exemplary. Likewise, any number of users 101 may be included in the environment. For purposes of this discussion, the term "user" will be used herein to refer to an individual interacting with the management service 1 10 (discussed below) to post or otherwise provide images, view images, share images, correspond with other users, purchase items represented in viewed images, etc.
[0036] The network 108 may include a local area network, a wide area network, such as a public switched telephone network (PSTN), a cable television network, a satellite network, a collection of networks, a public Internet protocol network, a private Internet protocol network, or a combination thereof. Moreover, the network 108 may be wired, wireless, or a combination of the two. The server system 100 may also include a mappings data store 1 1 1, an image data store 1 13, an item catalog data store 1 15, and/or a user profile data store 117. As discussed further below, the data stores may include lists, arrays, databases, and other data structures used to provide storage and retrieval of data. Likewise, while the disclosure describes multiple data stores, in some implementations, the data stores may be configured as a single data store or multiple data stores.
[0037] The mappings data store 1 11 , image data store 1 13, item catalog data store 1 15, and user profile data store 117 may be integrated with the server system 100 or otherwise communicatively coupled with the server system 100. For example, one or more of the mappings data store 1 1 1, image data store 113, item catalog data store 115, and/or user profile data store 1 17 may be located at a remote computing resource (not shown) and communicatively coupled with the server system 100. In some implementations, the mappings data store 1 1 1, image data store 113, item catalog data store 115, and/or user profile data store 1 17 may include one or more CD-RW/DVD-RW drives, hard disk drives, tape drives, or other storage devices that are utilized to store digital content and information. The server system 100, separately or together with the mappings data store 1 11 , image data store 1 13, item catalog data store 115, and/or user profile data store 1 17, may provide a management service 1 10 that facilitates user 101 postings of images, viewing of images, sharing of images, corresponding with other users, viewing of item variant information for items represented in images, and the like. Likewise, the management service 110 may facilitate the purchase by a user of an item represented in an image from a determined seller of the item.
[0038] The server system 100 may also be configured to exchange information with one or more sellers 106. The sellers 106 may include any type of entity and/or individual(s) that offers items for sale. For example, sellers 106 may include e-commerce websites that sells and delivers items, a service offering, a traditional retail or wholesale store, etc.
[0039] In some implementations, the sellers 106 may interact with the management service 110 and provide and/or update an item catalog listing items offered for sale by the seller. The item catalog may include item information about each item offered for sale by the seller. For example, the item information may include a name of the item, a price of the item, a URL for the seller's web page from which the item may be viewed and/or purchased from the seller, a geographic location of the seller, an advertising amount the seller is willing to pay to advertise the item and/or have a user provided image associated with the item, etc. For example, a seller may offer for sale thousands of items via their own e-commerce website and each of those items may be associated with or represented on one or more web pages of the seller's website. The seller 106 may provide to the management service 1 10 an item catalog listing one, some, or all of the items that the seller offers for sale. As discussed further below, the management service 1 10 may store the seller provided item catalog in the item catalog data store 115 and determine if any of the user provided images maintained in the image data store 113 include a representation of an item listed in the item catalog provided by the seller. Images maintained in the image data store 113 that include a representation of an item identified by the seller in the item catalog are associated with the item and/or the seller. The association is maintained in the mappings data store 11 1. [0040] The advertising amount may identify an amount the seller is willing to pay to promote the item, to have the item associated with user provided images that include representations of the item, and the like. In some implementations, the advertising amount may be based on the number of views or impressions the item receives by users of the management service. In other implementations, the advertising amount may be for a defined period of time, etc. In implementations when more than one seller offers a same or similar item for sale, the advertising amount may be utilized as a factor in determining which seller(s) is associated with a user provided image that includes a representation of the item.
[0041] Sellers 106 may also periodically update the provided item catalog by identifying additional items that the seller offers for sale, removing items from the item catalog, by providing updated variant information for items identified in the item catalog and/or by altering the advertising amount for the item. Those updates are reflected in the item catalog data store 1 15 and may be used by the management service 1 10 when presenting images to users.
[0042] Returning to FIG. 1 , client devices 104 may include personal computers, tablet computers, eBook reader devices, laptop computers, desktop computers, netbooks, personal digital assistants (PDA), portable gaming devices, wireless communication devices, such as smart phones or mobile handsets, set-top-boxes, game consoles, cameras, audio recorders/players, or any combination thereof. As will be described with regard to the implementations shown herein, the server system 100 is configured to exchange data and information, including information about users, images, sellers, items, item variants, and other like information with client devices 104. For example, the management service 110 may interact via the server system 100 to present images to a user 101, present item variant information to a user 101, facilitate purchase of an item between a user and a seller of the item, and the like.
[0043] Likewise, a user 101 may interact with the management service 110, via a client device 104, to provide images, view images, share images, correspond with other users, initiate a purchase of an item from a seller of the item, etc. As described herein, a user that provides an image that includes a representation of an item may be a different person or entity than the seller of the item represented in the image.
[0044] The mappings data store 1 11 stores information about the associations between items represented in user provided images and items offered for sale by sellers. For example, an item may be determined to be represented in a user provided image that is available for sale (listed in an item catalog) from three different sellers. In such an example, the mappings data store 1 11 will maintain an association between the user provided image, which is maintained in the image data store 113, and the corresponding item listed in each of the seller's provided item catalogs.
[0045] The user profile data store 117 stores information about users 101 of the management service 110. Any type of information may be stored in the user profile data store 1 17. For example, user profile information, such as attributes, name, address, gender, browse history, purchase history, billing information, shipping information, purchasing information, social networks and/or friends with which the user 101 interacts, and the like, may be stored in the user profile data store 117. User profile information may be provided directly by users 101 and/or collected from users 101 of the client devices 104 when interacting with the management service 1 10 (e.g., clickstream data as the user explores the management service 110), when posting, viewing, and/or sharing images, when facilitating a purchase between the user and a seller, etc. In some implementations, users of the management service 1 10 may choose to limit the amount of information included in their user profile, to limit access to their user profile information and/or to limit what information is shared, if any, from their user profile information. The user profile information maintained in the user profile data store 117 may be used by the management service 110 to facilitate a purchase of an item by a user from a seller.
[0046] In addition to maintaining information about mappings, item catalogs, images, and users, the management service 110 may provide use information back to the users 101 and/or the sellers 106. For example, the management service 110, through communication between the server system 100 and a client device 104, may provide use and/or purchase information (e.g., purchase history) back to a user 101. Such information may include an identification of images recently viewed, provided or shared, an identification of others that have viewed images posted by the user, purchases of items made by the user, and the like. Likewise, the management service 110, through communication between the server system 100 and the sellers 106, may provide information to the sellers 106. Such information may include analytics about items offered for sale by the seller, such as how many user provided images include a representation of each item, purchase history for items, etc.
[0047] FIG. 2 is a block diagram of an example implementation for listing items for sale by a seller through multiple channels, according to an implementation. The example implementation begins with a seller 206 creating a seller offering for items in which users can purchase items available for sale directly from the seller. For example, the seller may create their own e-commerce website, may create a website that is hosted by an E- commerce platform provider, such as SHOPIFY, MAGENTO, BIGCOMMERCE, VOLUSION, BIGCARTEL, 3DCART, etc. To enable purchase of items, the seller is associated with a payment processor, such as AUTHORIZE.NET, STRIPE, PAYPAL, BALANCED, that processes and authorizes purchase requests from users. [0048] In addition to establishing a direct seller offering, the seller 206 creates an account, referred to herein as a merchant account, with the management service 210. The merchant account enables the management service 210 and the seller 206 to share information. In one example, the seller 206 creates a merchant account and is presented with a dialog requesting that the management service 210 be authorized to share information with the seller. Upon receiving authorization, the management service 210 sends a token via the network 208 to the seller and requests seller information from the seller so that the seller and the management service 210 can establish a communication link and exchange information over the network 208. The token may be used by the seller 206 to identify information sent by the management service 210 as being associated with the seller 206. In response, the seller sends the seller information to the management service 210 and the management service 210 uses that seller information to identify information received from the seller as associated with the seller 206 and to authorize the seller 206 to sell items through the management service. For example, seller information needed to authorize the seller 206 may include, but is not limited to, transaction history information, chargeback ratio, duration the seller has been selling items, seller contact information, etc. [0049] Upon approval of the seller 206 by the management service 210, a link is established between the seller and the management service such that the seller can send information to the management service 210 and the management service 210 can send information to the seller. In addition, an item catalog is created by the seller 206. The item catalog identifies each item that the seller 206 desires to sell through the host site that is maintained by the management service 210. For each item, the item catalog may identify the item, a source location identifier, such as Uniform Resource Locator ("URL") of a web page of the seller's website from which the item may be viewed and/or purchased from the seller, an image of the item, item information, image information, a quantity available for sale, a price, shipping information, a description of the item, item category information, item size, item shape, item color, etc.
[0050] As discussed below, the item catalog, and/or portions thereof may be periodically updated by the seller so that the management service has current information regarding the items that the seller is offering for sale through the management service. For example, if a unit of an item is sold directly by the seller, the item catalog may be automatically updated so that the units available for sale through the management service is accurate. This may be done without any involvement from the seller.
[0051] Referring now to FIG. 3, the seller 306 provides the item catalog to the management service 310. The item catalog is delivered over the network 308 to the management service 310 and the management service 310 stores the item catalog in an item catalog data store 315. The management service 310, upon receiving an item catalog from the seller 306, processes user provided images that are stored in the image data store 313, referred to as stored images, to determine if any of the stored images include a representation of an item identified in the item catalog as an item offered for sale by the seller.
[0052] Processing of the stored images may be incrementally performed. For example, an initial processing may include comparing a source location identifier, such as a URL, listed in the item catalog for an item, with a source location identifier included in the image information of the stored images to determine if any of the source location identifiers are the same or similar. For example, if the source location identifiers are URLs, it may be determined that a source location identifier of an existing image is the same as a source location identifier listed in the item catalog if the two URLs are the same. Likewise, it may be determined that a source location identifier of a stored image is similar to a source location identifier listed in the item catalog if the two URLs have a same domain address (are from the same website or domain).
[0053] If the source location identifiers are the same, it may be determined that the stored image includes a representation of an item offered for sale by the seller. If the stored image includes a source location identifier that is similar to that of a source location identifier included in the item catalog, the stored image may also be processed using one or more image processing algorithms to determine if the stored image is similar to the image or image information included in the item catalog that corresponds with the similar source location identifier. For example, a hash value may be determined for the stored image and compared to a hash value included in the item catalog. Alternatively, one or more image processing algorithms, such as an edge detection algorithm, object detection algorithm, etc., may be utilized to determine features of the stored image, which may be represented as feature vectors. Images provided with the item catalog may likewise be processed to generate feature vectors (or feature vectors may be provided with the item catalog). The feature vectors of a stored image may then be compared with feature vectors for the item(s) identified in the item catalog with the similar source location identifier and, if the feature vectors are similar, it may be determined that the stored image includes a representation of an item offered for sale by the seller. In some implementations, the additional processing of the images may likewise be performed for images with a same source location identifier.
[0054] A source location identifier may be any location, physical or virtual, that is associated with an item and/or any other identifier that can be used to identify the item. For example, as discussed above, a source location identifier may be a URL of a webpage at which information relating to the item may be obtained. In another implementation, the source location identifier may include physical coordinates of one or more physical locations (e.g., physical stores of the seller) where the item may be viewed and/or purchased. In such an implementation, a user provided image may include location information, such as global positioning system (GPS) coordinates, that are compared with the coordinates included in the item catalog. In still other implementations, the source location identifier may include a universal product code (UPC), barcode, bokode, etc. that is associated with the item. [0055] In some implementations, stored images that are not matched to an item of the item catalog as part of the initial processing may be further processed. For example, using the feature vectors for the processed stored image, it may be determined if an item is represented in the image and, if so, a category for the item may be determined. For example, the management service may maintain a list of item categories and
corresponding feature vectors that are representative of items associated with the item category. Item categories may be any type of classification or categorization of items. For example, item categories may include shoes, shirts, bags, sporting equipment, clothing, hats, cars, etc. For each item category, feature vectors, colors, shapes, and/or other characteristics of items associated with that category are maintained and may be used to compare with feature vectors and/or other information of the stored image. If there is a similarity between the feature vectors and/or other information associated with the item category and the feature vectors and/or other information of the stored image, the stored image may be associated with that item category.
[0056] Likewise, the seller and/or items identified in the item catalog as offered for sale by the seller may also be associated with an item category. Associating items identified by a seller as associated with a category may be done in a similar manner to that discussed above with respect to associating a stored image with a category. Alternatively, or in addition thereto, the seller may identify the category for the item, for example, by identifying an item category for each item listed in the item catalog. [0057] Based on the category determined for the stored image and the categories associated with the sellers 306 and/or items offered for sale by sellers, it is determined whether the stored image potentially includes a representation of an item listed in the provided item catalog. For example, if the item category determined for the stored image corresponds to an item category associated with the seller and/or the item catalog provided by the seller, it may be determined that the stored image potentially includes a representation of an item offered for sale by the seller. If the stored image does include a representation of an item that may be listed in the item catalog, additional processing may be performed to determine the item represented in the image. The additional processing may include additional analysis of the stored image and/or comparison of the feature vectors and/or other image information between the stored image and items of the item catalog associated with the same item category. In another example, the stored image may be manually reviewed by a human and compared to items listed in the item catalog having the same item category to determine if the item represented in the image corresponds to an item listed in the item catalog. The human may be an employee of the management service 310, an independent reviewer, a user (or group of users) of the management service 310, a representative or employee of the seller 306, etc. [0058] If it is determined that a stored image includes a representation of an item listed in the item catalog provided by a seller 306, the management service establishes an association between the item listed in the item catalog and the stored image and stores the association in the mappings data store 311. Likewise, the management service may establish an association between the stored image and the seller 306 and maintain that association in the mappings data store 311. As discussed further below, when a user requests to view a stored image, the management service 310 determines the association between the stored image and the item offered for sale by the seller and presents seller information and/or a purchase control with the presentation of the image of the item.
[0059] Turning now to FIG. 4, a user 401 may also provide an image that may be matched with an item offered for sale by a seller. In this example, the user 401, using a client device 404, provides an image to the management service 410 via the network 408. The management service, upon receiving the image, stores the image in the image data store 413, processes the provided image, and compares the processed image with the items identified in the item catalog data store 415 to determine if the user provided image includes a representation of an item offered for sale by a seller. Processing of the user provided image may be performed in a similar incremental manner as that discussed above with respect to FIG. 3. For example, a source location identifier of the user provided image may be compared with source location identifiers maintained in the item catalog data store 415, the user provided image may be processed to generate feature vectors that are compared with feature vectors for items identified in the item catalog data store 415, image information associated with the user provided image may be compared with image information from the item catalog data store 415, etc.
[0060] If the user provided image is determined to include a representation of an item listed in the item catalog data store 415, the user provided image is associated with the item and/or the seller that offers the item for sale and the association is stored in the mappings data store 41 1. [0061] FIGs. 5 - 6 are block diagrams of an example implementation of facilitating a purchase of a represented item by a user, according to an implementation. Turning first to FIG. 5, the example implementation begins with a user 501 requesting, through a client device 504, to view an image that was provided by a user (the user 501 or any other user) to the management service 510 and stored in the image data store 513. The request is sent from the client device 504 to the management service 510 through a network 508. The management service 510, upon receiving the user's request, queries the mappings data store 511 to determine any associations between the requested image and items offered for sale by a seller. If an association exists between the image requested by the user and an item offered for sale by a seller, as identified in the item catalog data store 515, the management service 510 provides the requested image and a purchase control that is presented to the user. As discussed further below, the purchase control is selectable by the user to obtain additional details about the item represented in the requested image and/or to initiate a purchase of the item from a seller that offers the item for sale. In some implementations, the management service 510 may also provide seller information identifying the seller of the item represented in the image.
[0062] In addition to providing the image and purchase control for presentation to the user 501, the management service 510 may also send a request to the seller 506 for item variants related to the item represented in the image that is available for purchase from the seller 506. The seller 506, in response to receiving the request for item variants, may provide the current item variants for the item represented in the image that is available for purchase from the seller 506. In other implementations, rather than, or in addition to the management service 510 sending a request to the seller 506, the seller may periodically send item variant update information to the management service 510. For example, sellers 506 may specify update intervals (e.g., every hour, every day, weekly) and send item catalog and/or item variant updates to the management service that are maintained and used by the management service 510. In some implementations, the seller 506 may be configured to send item variant updates to the management service 510 when an item variant changes (e.g., price changes, quantity available changes). In such
implementations, rather than the management service 510 sending a request to the seller 506 for item variant information, the management service 510 may utilize the previously provided and stored item variant information for the item represented in the requested image.
[0063] Turning now to FIG. 6, if a user 601 selects or otherwise activates the purchase control that was provided with the image, the request is sent to the management service 610. For example, the requested image and corresponding purchase control may be sent by the management service 610 to the client device 604, via the network 608, and presented to the user 601 on a display of the client device 604. If the user selects the purchase control, the request is sent by the client device 604, via the network 608, to the management service 610.
[0064] In response to receiving the request, the management service 610 sends to the client device 604 item variant information corresponding to the item represented in the image and associated with the selected purchase control. In some implementations, the item variant information may be sent with another image(s) of the item, additional details about the seller and/or the sale of the item. In addition, the management service 610 may send to the seller 606, via the network, a reservation request requesting that the seller 606 temporarily reserve the item so that there is a quantity of the item available for sale to the user 601.
[0065] If the seller selects to purchase the item, as illustrated in FIG. 6, the purchase request is sent from the client device 604 to the management service 610 and the management service 610 facilitates a purchase of the item between the seller 606 of the item and the user 601. In some implementations, the purchase of the item may be completed without the user 601 having to be redirected to the seller 606. For example, the management service 601 may obtain or have the information necessary to complete the purchase and send that information to the seller 606. For example, as part of the purchase, the user may provide purchase information, such as item details (e.g., size, color), quantity, delivery details (e.g., shipping speed, delivery destination), a payment credentials (e.g., credit card number, bank account number), and/or other information. As discussed further below with respect to FIG. 7, the management service may provide the purchase information to the seller and the seller may complete the purchase of the item for the user. In such an implementation, all aspects of the purchase may be performed by or on behalf of the seller 606, including communication with a payment processor for purchase authorization, updating an inventory count for the sale, etc. When the purchase is authorized, a purchase confirmation is sent from the seller 606 back to the management service 610.
[0066] In another example, the management service may facilitate a payment (e.g., via a third party payment processor) by the user for the item on behalf of the seller and provide the seller with a payment confirmation. In addition to the payment confirmation, the management service 610 may provide the seller with any item variants selected by the user (e.g., size, color, shipping option), a delivery destination specified by the user, etc.
[0067] The seller 606, upon completing the purchase and/or receiving a purchase confirmation, initiates delivery of the item to the user. For example, if the item is a physical good, the seller 606 may cause the item to be delivered to a user specified delivery location. Likewise, if the item is a digital good, the item may be transmitted from the seller to the user 601, for example, via the network 608. The management service 610 may provide a confirmation message to the user 601 that the purchase of the item from the seller 606 has been completed.
[0068] As described, the implementations provide the ability to determine items represented in user provided images and match those items with a seller that offers the item for sale. While the examples described herein refer to a single seller as offering the item for sale, in other implementations, an item represented in a user provided image may be available for sale from multiple sellers. For example, if the item represented in the image is a sports shoe, that item may be available from multiple different sellers of sports shoes. In such an implementation, the user provided image of the item may be associated with each of the sellers and a mapping maintained in the mappings data store maintained by the management service. In some implementations, a single seller may be associated with the purchase control when the user provided image and the corresponding purchase control are sent to a requesting user. The single seller may be randomly selected, selected based on price, selected based on the user's past purchase history, the location of the user and the seller, and/or any other factor. Alternatively, the user may be provided a list of sellers upon activation of the purchase control. [0069] FIG. 7 is a block diagram of a purchase process, according to an
implementation. As discussed above, the management service 710 may facilitate a purchase of an item between a user 701 and a seller 706. In the implementations discussed herein, a user of the management service may purchase an item from a seller other than the management service without ever leaving the website of the management service. At the same time, the seller is able to promote and sell their goods via the management service, even using images provided by users of the management service that are independent of the seller and/or the management service.
[0070] When a user 701 selects desired item variants and initiates a purchase of an item, the management service 710 receives the purchase request and the selected item variants. The management service may also maintain in the user profile data store purchase information (e.g., credit card, billing information, and delivery information) for the user, and/or the user may provide such information as part of the purchase request.
[0071] In the example illustrated in FIG. 7, the management service 710 obtains all the information needed to enable the seller 706 to complete a purchase of the item. The purchase information may include, a user name or identifier, address, billing address, item information, selected item variants, shipping information, price, payment credentials, etc. In some implementations, some of the purchase information may be maintained in a data store of the management service. For example, if the user has established a user account with the management service, the user's profile may include the user name or identifier, address, shipping information, billing address, and/or payment credentials. In some implementations, the payment credentials, such as a credit card may be stored in a payment credential vault 703, which may be maintained by a third party, such as
AUTHORIZE.NET, STRIPE, BRAINTREE, etc. If the payment credential for a user is stored in a payment credential vault 703, a token may be associated with that payment credential that is provided to the management system and maintained in the user profile. [0072] If the user is providing a new payment credential, the provided payment credential may be sent by the management service 710 to payment credential vault 703 and the payment credential vault 703 may provide a token representative of the payment credential back to the management service. [0073] When the purchase information is sent by the management service, rather than including the actual payment credential, the token provided by the payment credential vault is included in the purchase information. In some implementations, the purchase information, including the token rather than the actual payment credential, may be sent directly from the management service 710 to the seller 706. For example, if the payment processor 702 used by the seller 706 to process payments is the same entity as the payment credential vault 703, the purchase information with the token may be sent directly to the seller 706 and the seller may in-tum send the token to the payment processor 702 for payment processing and authorization. The payment processor 702, having knowledge of both the token and the payment credential associated with the token, is able to process and authorize the purchase based on the associated payment credential.
[0074] In another implementation, the seller 706 may forward the received token to the payment credential vault 703 and the payment credential vault will send the payment credentials to the seller and/or to the payment processor associated with the seller to enable processing and authorization of the payment for the item to be purchased. In such an implementation, the payment credential vault may determine that the intended recipient of the payment credential is compliant with one or more standards, such as the payment card industry (PCI) compliance standards. In addition, transmission of the payment credentials may be sent using a secure connection. In such an implementation, a purchase identifier that identifies the purchase and/or a seller identifier that identifies the seller of the item may be included with the token and sent to the payment credential vault 703.
Likewise, the purchase information may be sent to the seller 706 along with the purchase identifier. The purchase identifier is then used by the seller 706 and the payment credential vault 703 to coordinate and confirm payment for the purchase.
[0075] Alternatively, the purchase information with the token may be sent from the management service to the payment credential vault 703 along with a seller identifier that indicates the seller to which the payment information is to be forwarded. The payment credential vault, upon receiving the purchase information, replaces the token with the payment credential and sends the purchase information with the actual payment credential to the seller 706. In such an implementation, the payment credential vault may determine that the intended recipient of the payment credential is compliant with one or more standards, such as the PCI compliance standards. In addition, transmission of the payment credentials may be sent using a secure connection. The seller, upon receiving the payment credentials, provides the payment credentials to the associated payment processor 702 for processing and authorization.
[0076] The payment processor 702 processes and confirms that the payment is authorized and sends back to the seller 706 a payment transaction identifier and an indication that the payment is authorized. The seller, in response, may send a purchase confirmation back to the management service 710 confirming that the purchase is complete. In some implementations, the purchase confirmation sent from the seller 706 to the management service 710 is sent directly from the seller 706 to the management service 710. Alternatively, the purchase confirmation may be sent from the seller 706 to the management service 710, via the payment credential vault 703. The management service 710, upon receiving the purchase confirmation, may send a notification to the user confirming that the seller has confirmed purchase of the item. When the seller initiates delivery of the item, the funds may be retrieved from the payment processor and the transaction completed. [0077] If the payment processor is not able to authorize the payment, the payment processor sends back to the seller a payment not authorized notification. If the payment is not authorized, one or more reasons (e.g., invalid payment information) may be provided with the payment not authorized notification. The seller 706 may then send to the management service 710 the reason for the failure and the management service 710 may obtain from the user the needed information in an effort to complete the payment.
[0078] With the implementations described with respect to FIG. 7, the user is able to purchase an item directly from the seller 706 through the management service 710 without the management service having to transmit the payment credentials to the seller.
Likewise, the purchase is processed by the seller and associated payment processor 702 as if the purchase had occurred directly with the seller. In such a configuration, the available inventory for both the seller and the management service is automatically updated, all order details are consolidated and maintained by the seller, etc. [0079] FIG. 8 is a block diagram of another purchase process, according to an implementation. As discussed above, the management service 810 may facilitate a purchase of an item between a user 801 and a seller 806. In the implementations discussed herein, a user of the management service may purchase an item from a seller other than the management service without ever leaving the website of the management service. At the same time, the seller is able to promote and sell their goods via the management service, even using images provided by users of the management service that are independent of the seller and/or the management service.
[0080] When a user 801 selects desired item variants and initiates a purchase of an item, the management service 810 receives the purchase request and the selected item variants. The management service may also maintain in the user profile data store purchase information (e.g., credit card, billing information, and delivery information) for the user, and/or the user may provide such information as part of the purchase request.
[0081] Based on the relationship between the management service and the seller of the item, payment for the item may be completed differently. In one implementation, the seller of the item may maintain a payment account with a third party payment
processor 802 that accepts payments for purchases facilitated by the management service 810. In such a configuration, no purchase details of the user are provided to the seller 806 and the seller remains the seller of record. When a purchase is made, the payment is processed by the third party payment processor 802 and made to the seller's account that is maintained by the third party payment processor 802. In another configuration, the seller may be their own payment processor. In such a configuration, the user's purchase details may be provided from the management service 810 to the seller 806 and the seller may process payment for the item. [0082] In either configuration, upon receipt by the management service 810 of a purchase request from a user 801 , the total cost for the purchase (e.g., price, tax, shipping), the payment token that identifies the purchase transaction and the seller identifier is sent to the payment processor 802 (either the third party payment processor, or the payment processor of the seller). The payment processor 802 processes and confirms that the payment is authorized and sends back to the management service 810 a payment transaction identifier and an indication that the payment is authorized. [0083] The management service, upon receiving the payment transaction identifier, sends the payment transaction identifier to the seller 806 confirming that the purchase has been authorized. The seller, in response, may send a purchase confirmation back to the management service 810 confirming that the purchase is complete. Likewise, the management service may send a notification to the user confirming that the seller has confirmed purchase of the item. When the seller initiates delivery of the item, the funds may be retrieved from the payment processor and the transaction completed.
[0084] In still another implementation, the management service 810 may prepare a fully configured order that includes the item to be purchased, item variant information (e.g., quantity, color, size), shipping information, user information necessary for the seller to complete a sale of the item to the user (e.g., user information, payment information), and the like. The fully configured order may then be sent directly to the seller 806. A seller 806, upon receiving a fully configured order from the management service 810 processes the order and returns to the management service 810 either a purchase confirmation or an error indicating that the purchase was not completed for one or more reasons (e.g., invalid payment information). The management service 810 may send a notification to the user 801 confirming that the seller has confirmed purchase of the item or that there was an error with the purchase request. If an error occurred, the management service 810 may obtain from the user, information needed to resolve the error and provide that information to the seller 806 so that the purchase of the item from the seller can be completed.
[0085] In addition to the management service determining multiple sellers for an item represented in an image, in some implementations, multiple items may be represented in a single user provided image. In such instances, the image may be segmented based on the various positions of the represented items, sellers determined for the different items, and different purchase controls presented with each of those items.
[0086] For example, referring to FIG. 9, illustrated is a representation of a segmented user provided image that includes a plurality of items offered for sale by different sellers, according to an implementation. An image, such as image 900, may be segmented using image segmentation techniques. For example, a background of the image may be determined (e.g., based on out of focus regions and/or similar colors) and removed from processing. Likewise, six objects have been identified and the image segmented into six different regions. Specifically, a body object 902, a head object 904, a shirt object 906, a pants object 908, a bags object 910, and a shoes object 912. As part of the segmenting, the root object, in this example the body object 902, was determined and the location of other objects 904 - 912 considered when identifying those other objects. Segmentation of images is described in further detail in U. S. Patent Application No. 14/279,871 entitled "Image Based Search," which is herein incorporated by reference in its entirety.
[0087] In other implementations, an image may be segmented using other
segmentation and identification techniques. For example, images may be segmented using crowd sourcing techniques. For example, as users view an image, they may select regions of the image that include objects and the image may be segmented based on the location of objects within the image. As more users identify objects within images, the confidence of the identity of those objects increases. Based on the user provided segmentation and identification, the objects within the image can be identified and a determination made as to whether the object is an item offered for sale by a seller. [0088] For example, each segment may be processed to generate feature vectors for the item represented in the segment and those feature vectors may be compared with feature vectors associated with items identified in the item catalog data store.
Alternatively, or in addition thereto, the segments of the image may be processed and the item classified into one or more categories. For example, the shirt object 906 of the image 900 may be processed to detect the object (shirt) represented in the segment that contains the shirt object 906 and the segment may be associated with a category representative of shirts (or another relevant category). As discussed above, the representation of the object (shirt) may be compared with items offered for sale by sellers associated with the category shirts and/or compared with items offered for sale that are associated with the category shirts to determine if the object represented in the segment of the image corresponds with an item offered for sale by a seller. This processing may be done for each object and/or segment of the image to determine items represented in the image that are offered for sale by one or more sellers.
[0089] FIG. 10 is a representation of a segmented image 1000 presented on a display of a client device 1004 with purchase controls associated with objects of the image that are determined to be items offered for sale by one or more sellers, according to an
implementation. For each item determined in the segmented image to be available for purchase from one or more sellers, a purchase control may be presented near the determined item that is selectable by the user. In this example, a shirt 1006 has been determined in a first segment 1005 of the image 1000 and a purchase control 1026 is presented near the presentation of the shirt. Similarly, a bag 1010 has been determined in a second segment 1009 of the image and a purchase control 1020 is presented near the presentation of the bag. A pair of pants 1008 has been determined in a third segment 1007 of the image 1000 and a purchase control 1028 is presented near the presentation of the pants 1008. Finally, a pair of shoes 1012 has been determined in a fourth segment 101 1 of the image 1000 and a purchase control 1022 is presented near the presentation of the shoes 1012.
[0090] While the majority of the segments of the image 1000 have been determined to include a representation of an item offered for sale by a seller, the segment 1003 that includes the object of a person's head is determined to not include an item that is offered for sale by the seller. Because the object (person's head) represented in the segment 1003 is determined to not be an item offered for sale by a seller, a purchase control is not presented near the presentation of that object.
[0091] A user may view the image 1000 on the client device 1004 and selectively interact with one or more of the purchase controls to obtain additional details about an item associated with the purchase control. For example, FIG. 1 1 is a representation of an item and item variants for the shirt item, according to an implementation. The information 1100 presented on the display of the client device 1 104 is generated in response to the user selecting the purchase control 1026 (FIG. 10) associated with the shirt item. In this example, upon selection of the purchase control 1026, an additional view 1 110 of the shirt item is presented to the user along with a name 1 106 of the seller of the item, in this example Seller A, from which the item may be purchased. A name of the item "Summer Casual Shirt For Her" 1 108 may also be included in the presented information 1100. The management service, as discussed above, may also obtain and provide item variant information 1 112, such as a size, fit, color, shipping method, and/or quantity of the shirt. The user may alter or select item variant information by, for example, interacting with the presentations of the item variant information. In addition, a user may also be presented with purchase and/or shipping information 1 114 that is currently associated with the user of the client device 1 104 that will be used by the management service to facilitate a purchase of the item if the user selects the "Buy Now" control 11 16. A user may alter the purchase and/or shipping information 11 14 by selecting the "Edit" control 11 18 and providing or selecting alternative information. Any type or form of payment method may be used with the implementations discussed herein. For example, the user profile maintained by the management service that is associated with the user may include credit card information, as illustrated, that is used to facilitate a purchase between the user and the seller of the item. In other implementations, other forms of payment, such as bank transfers, e-commerce payment processors, etc. may likewise be utilized. [0092] In some implementations, a discount code 11 19 or other promotion may be associated with the item represented in the additional view 11 10. For example, if Seller A 1106 is offering a promotion for the item that is received if a discount code 11 19 is provided as part of the checkout process, the discount code 11 19 may be automatically identified and included in the information 1 100 presented on the display of the client device 1 104. In some implementations, the discount code 11 19 is provided by the seller as an item variant for the item. In other implementations, a user may alter, update or provide a discount code 1 119 by selecting the discount code 1119 and providing such information.
[0093] The additional view 11 10 of the item may be in the form of a digital still image, a video file, an animated .gif file, etc. For example, the additional view 1 110 may include a presentation of an animated .gif file that can be manipulated by a user to alter a presented view of the item. For example, if the client device 1 104 includes a touch-based display, a user may manipulate or control the presentation of the .gif file by moving their finger on the touch-based display to obtain different views of the presented item. In one implementation, the user may control the presentation of the image and rotate the image to obtain front, back, side and/or other views of the image, effectively providing a 360 degree view of the image.
[0094] In some implementations, a user may view and/or provide comments, reviews, ratings, and/or other information related to the item represented in the additional view 1 110. In some implementations, a user may also be presented with an identification of related items often viewed or purchased with the item represented in the additional view 1 110. A related item is an item that is often purchased with the item or view by users when viewing the item represented in the additional view 1 110. For example, if other users of the management service often purchase the item "Summer Causal Shirt For Her" from Seller A and also purchase a pair of matching shorts, the information 1100 may also identify the pair of matching shorts to the user as an item that is often purchased with the item represented in the additional view 1110. The user may obtain additional information about the pair of matching shorts by selecting the identified pair of matching shorts.
[0095] If a user selects the "Buy Now" control 1116, the management service facilitates a purchase of the item between the user and the seller. Facilitating purchase of the item is discussed above with respect to FIGs. 7 and 8. In addition to facilitating purchase, the management service may also send a confirmation message to the user, as illustrated in FIG. 12. In this example, the management service sends to the client device 1204 a confirmation message 1202 identifying that the seller of the item received the order from the user for the item and that the seller will send the user a confirmation email. [0096] FIG. 13 illustrates an example process 1300 for matching sellers with items, according to an implementation. The example process 1300 and each of the other processes described herein are illustrated as a collection of blocks in a logical flow graph. Some of the blocks represent operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer- executable instructions stored on one or more computer-readable media that, when executed by one or more processors, perform the recited operations. Generally, computer- executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types.
[0097] The computer-readable media may include non-transitory computer-readable storage media, which may include hard drives, floppy diskettes, optical disks, CD-ROMs, DVDs, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, flash memory, magnetic or optical cards, solid-state memory devices, or other types of storage media suitable for storing electronic instructions. In addition, in some implementations, the computer-readable media may include a transitory computer- readable signal (in compressed or uncompressed form). Examples of computer-readable signals, whether modulated using a carrier or not, include, but are not limited to, signals that a computer system hosting or running a computer program can be configured to access, including signals downloaded or uploaded through the Internet or other networks. Finally, the order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and/or in parallel to implement the process. Likewise, additional or fewer operations than those described may be utilized with the various implementations described herein.
[0098] The example process 1300 begins by determining if there is a source location identifier, such as a URL, GPS coordinates, barcode, etc., included in the image information of a user provided image, as in 1302. As discussed above, a user provided image may be already stored in an image data store of the management service or may be provided to the management service by the user. The user provided image may be any image or representation of an object that is provided by the user to the management service. For example, the user provided image may be an image obtained with an image capture device of a user's client device, an image copied from another website, an image from an electronic message, etc. [0099] An image may include a source location identifier, such as a URL, if the image is obtained from another location (e.g., a website) on a network, such as the Internet. In another example, the source location identifier may identify a physical location at which the image was captured by an image capture device (camera). For example, when a camera obtains an image, it may include in the image information the GPS coordinates (latitude and longitude) identifying the position of the image capture device when the image was obtained.
[0100] If it is determined that the user provided image does not include a source location identifier, the example process 1300 proceeds to the example process 1400 discussed below with respect to FIG. 14. However, if it is determined that the user provided images does include a source location identifier, the source location identifier of the user provided image is compared to source location identifiers maintained in the item catalog data store, as in 1304. As discussed above, the item catalog data store maintains a list of items offered for sale by one or more sellers. As the source location identifiers are compared, a determination is made as to whether the source location identifier of the user provided image matches a source location identifier of an item identified in the item catalog, as in 1306. [0101] If it is determined that the source location identifier of the user provided image does not match any of the source location identifiers of the items in the item catalog data store, the example process 1300 proceeds to the example process 1400 discussed below with respect to FIG. 14. If it is determined that the source location identifier of the user provided image does match a source location identifier of an item in the item catalog data store, the user provided image is associated with the corresponding item from the item catalog data store and/or the seller that offers the item for sale, as in 1308. This association is maintained in the mapping data store by the management service.
[0102] Based on the association between the user provided image and the item identified in the item catalog data store and/or the seller of the item, each time the user provided image is presented to a user, such as when a user requests to view the user provided image, the presentation of the image will include a purchase control and/or seller information, as in 1310. The purchase control, as discussed above, may be selected by the user to obtain additional information about the item represented in the user provided image and/or to initiate a purchase of the item. The seller information identifies a seller of the item represented in the image. If multiple sellers are associated with the item represented in the image, the seller information may identify one of the sellers, a seller determined based on a provided advertising amount for the item, multiple sellers, provide an indication that more than one seller is offering the item represented in the user provided image for sale, etc. A user requesting to view the user provided image may be the user that provided the image, or any other user of the management service.
[0103] While the example illustrated in FIG. 13 describes matching a user provided image with a seller if the source location identifier of the user provided image matches the source location identifier of an item listed in the item catalog data store, in some implementations, additional analysis may be performed before the user provided image is determined to include a representation of the item offered for sale by the seller. For example, the user provided image may be processed to determine if the image is similar to or matches the image or the image information included with the item identified in the item catalog as having a matching source location identifier. In other implementations, additional image information, such as a creation date, file size, hash value, color histogram, etc., may be compared to obtain additional confirmation that the user provided image includes a representation of the item offered for sale by the seller. In some implementations, all or a portion of FIG. 14 may be performed in conjunction with the example process 1300.
[0104] FIG. 14 illustrates an example process 1400 for processing a user provided image to match an item represented in the image with a seller of the item, according to an implementation. The example process 1400 begins by receiving the image from a user, as in 1402. The received image is then processed using one or more image processing algorithms, such as edge detection, object detection, grey scale analysis, etc., to determine objects represented in the image, as in 1404. In some implementations, feature vectors representative of the image and/or objects within the image may also be generated. [0105] In addition to processing the image, image information such as source location identifier, comments added by the user that provided the image, comments added by users that viewed and/or shared the image, the time, date and/or location associated with the image, etc., may also be considered, as in 1406. Based on the processed image and the image information, a determination is made as to whether an item category can be determined for an object represented in the image, as in 1408. In some implementations, the management service may maintain a list of item categories for items that are offered for sale by different sellers. Each item category may include one or more item characteristics, such as a description, representative images of items associated with the item category, representative shapes, sizes and/or colors of items that may be associated with the item category, etc. Likewise, a seller may be associated with an item category based on the types of items that the seller offers for sale. Likewise, items offered for sale may be associated with one or more item categories based on the item type.
[0106] In determining if the object represented in the user provided image may be associated with an item category, the processed image and/or image information is compared with the characteristics of each item category to determine if the object represented in the image is similar to an item category. For example, the size, shape and/or color of the determined object may be compared with the size(s), shape(s), and color(s) characteristics of an item category to determine a similarity between the obj ect and the item category. [0107] If the object represented in the user provided image cannot be associated with an item category, the image is sent for manual review and categorization, as in 1410. Manual review and categorization may include one or more humans reviewing the user provided image to determine a category for the object represented in the image. The human(s) may be an employee of the management service, a user of the management service, a seller, etc. [0108] If it is determined that the object represented in the image can be associated with a category, or upon manual categorization, similarities between the object represented in the user provided image and the images of the item catalog associated with the determined category are determined, as in 1412. For example, the processed image information (e.g., feature vectors, histogram) from the user provided image may be compared with image information relating to the images corresponding to the items identified in the item catalog to determine a similarity between the images.
[0109] Based on the similarities between the user provided image and the stored images, a probability is determined for the stored image having the highest similarity to the user provided image, indicating how likely it is that the stored image corresponds to the user provided images, as in 1414. The probability may be based on a difference between the determined similarity scores. For example, if the highest similarity score is 95% and the next highest similarity scores are 45% and 34%, there may be a high probability that the stored image having the highest similarity score corresponds with the user provided image. In comparison, if the highest similarity score is 95% and the next highest similarity scores are 94% and 93%, even though the images are similar, there is a low probability that the stored image with the highest similarity score corresponds to the user provided image because any of those images may actually include the item represented in the user provided image.
[0110] Based on the probability score for the stored image with the highest similarity, a determination is made as to whether the probability exceeds a confidence threshold, as in 1416. The confidence threshold may be any number, score, or other indicator that must be achieved for the probability score to exceed the threshold. The confidence threshold may be different for different images, different users, different times of day, etc.
[0111] If the probability score does not exceed the threshold, the image is sent for manual association by one or more humans, as in 1418. In some implementations, the image, image data, stored images associated with items in the item catalog corresponding to the same category, and/or the stored images having the highest similarity scores may also be sent to the one or more humans for manual association. The one or more users may be employees of the management service, employees of the potential seller of the item, users of the management service, etc. [0112] If it is determined that the probability exceeds the confidence threshold, or upon manual association, the user provided image is associated with the item identified in the item catalog and/or the seller of the item identified in the item catalog, as in 1420. This association is maintained in the mapping data store by the management service.
[0113] Based on the association between the user provided image and the item identified in the item catalog data store and/or the seller of the item, each time the user provided image is presented to a user, such as when a user requests to view the user provided image, the presentation of the image will include a purchase control and/or seller information, as in 1422. The purchase control, as discussed above, may be selected by the user to obtain additional information about the item represented in the user provided image and/or to initiate a purchase of the item. The seller information identifies a seller of the item represented in the image. If multiple sellers are associated with the item represented in the image, the seller information may identify one of the sellers, a seller based on a provided advertising amount for the item, multiple sellers, provide an indication that more than one seller is offering the item represented in the user provided image for sale, etc. A user requesting to view the user provided image may be the user that provided the image, or any other user of the management service.
[0114] FIG. 15 illustrates an example purchase request process 1500, according to an implementation. The example process 1500 begins upon selection by a user of the purchase control, as in 1502. As discussed above, a purchase control is presented with a user provided image when the user provided image is determined to include a
representation of an item offered for sale by a seller.
[0115] Upon receiving a selection of a purchase control, the seller is queried for current item variant information corresponding to the item represented in the image, as in 1504. As discussed above, in some implementations, the seller may be queried for item variant information in response to selection of a purchase control, the seller may periodically send item variant information to the management service, and/or the seller may provide updates to item variant information when an item variant changes.
[0116] The example process 1500 also sends to the client device of the user, item details and current item variant information for presentation to the user, as in 1506. As illustrated and discussed above with respect to FIG. 1 1, the presentation to the user may include additional views of the item, current item variant information, purchase details, etc. Likewise, as discussed above, the user may modify and/or select particular item variants for the item that may be used to complete a purchase of the item. For example, the user may select a particular size, color, and/or other variants for an item that may be used in the purchase and/or delivery of the item.
[0117] A determination is then made as to whether a purchase request has been received, as in 1508. For example, a user may select to purchase an item upon selecting desired variants and providing purchase details (e.g., delivery destination, credit card information, delivery time). If a purchase request is not received, the example process completes, as in 1509. However, if it is determined that a purchase request has been received, the selected item variants, delivery information, and user information for the user initiating the purchase are sent to the seller of the item, as in 1510.
[0118] In response to sending the selected item variants, delivery information, and user information to the seller, the example process 1500 receives from the seller a purchase identifier that identifies the purchase transaction and purchase details (e.g., shipping fee, identification tag, shipping time), as in 1512.
[0119] Based on the user provided information, and the seller provided purchase information, the example process 1500 facilitates purchase of the item between the user and the seller, as in 1514. Additional details for facilitating purchase of an item between a user and a seller of the item are discussed in above with respect to FIGs. 7 and 8. Finally, once the purchase has been completed, a purchase confirmation is sent to the user, as in 1516. The purchase confirmation may be sent in the form of a presentation on the user's client device, an electronic message ("e-mail"), a text message, etc.
[0120] FIG. 16 illustrates an example purchase execution process 1600, according to an implementation. The example process 1600 provides additional details corresponding to box 1514 (FIG. 15). The example process 1600 begins by obtaining purchase information and a payment token, as in 1604. As discussed above, the purchase information may include an identification of the item, quantity desired, shipping details (e.g., delivery address, shipping speed), selected item variants (e.g., size, color, etc.). The payment token is a unique identifier provided by a payment credential vault that is associated with a payment credential selected by the user purchasing the item that will be use to authorize the purchase. If the payment token is not already stored, the payment credentials may be obtained from the user, provided to the purchase credential vault, and a payment token obtained.
[0121] Upon obtaining the purchase information and payment token, the purchase information, without the payment credentials, and the payment token are sent to the seller that sells the item to be purchased by the user, as in 1606. As discussed above, the purchase information and payment token may be sent from the management service to the seller via a payment credential vault. The payment credential vault, upon receiving the purchase information and payment token, provides to the seller the purchase information and the payment credentials represented by the token so that payment can be processed for the item.
[0122] As discussed above, the seller processes the payment using their own or associated payment processor as if the purchase were being made directly with the seller. The payment processor may be the same or different entity than the payment credential vault. In instances when the payment processor and the payment credential vault are the same entity, rather than the payment credential vault providing the payment credentials to the seller, the payment credential vault may process the payment for the item based on the token received from the management service.
[0123] Once the seller has confirmed the purchase with the payment processor, the seller sends a purchase confirmation back to the management service. The purchase confirmation may be sent by the seller directly back to the management service and/or via the payment credential vault. If the purchase was not confirmed, the seller sends a failure and/or request for additional information back to the management service.
[0124] Returning to the example process 1600, after sending the purchase information and the payment token, a determination is made as to whether a purchase confirmation has been received, as in 1608. If it is determined that a purchase confirmation has been received, a notification is provided to the user to confirm to the user that the purchase of the item from the seller has been successfully completed, as in 1610. The purchase confirmation may be sent in the form of a presentation on the user's client device, an electronic message ("e-mail"), a text message, etc. [0125] If it is determined that a purchase confirmation has not been received, any missing information or needed additional information is obtained from the user as in 1612. For example, if the billing address, or expiration date of the payment credential is out of date, the user may be requested to update such information. When the information is obtained from the user, updated purchase information is sent to the seller, as in 1614, and the example process returns to decision block 1608 and continues.
[0126] FIG. 17 is a pictorial diagram of an illustrative implementation of a server system, such as the server system 1700 that may be used in the implementations discussed herein. The server system 1700 may include a processor 1701, such as one or more redundant processors, a video display adapter 1702, a disk drive 1704, an input/output interface 1706, a network interface 1708, and a memory 1712. The processor 1701, the video display adapter 1702, the disk drive 1704, the input/output interface 1706, the network interface 1708, and the memory 1712 may be communicatively coupled to each other by a communication bus 1711.
[0127] The video display adapter 1702 provides display signals to a local display (not shown in FIG. 17) permitting an operator of the server system 1700 to monitor and configure operation of the server system 1700. The input/output interface 1706 likewise communicates with external input/output devices not shown in FIG. 17, such as a mouse, keyboard, scanner, or other input and output devices that can be operated by an operator of the server system 1700. The network interface 1708 includes hardware, software, or any combination thereof, to communicate with other computing devices. For example, the network interface 1708 may be configured to provide communications between the server system 1700 and other computing devices, such as the client device 104, via the network 108, as shown in FIG. 1.
[0128] The memory 1712 generally comprises random access memory (RAM), read- only memory (ROM), flash memory, and/or other volatile or permanent memory. The memory 1712 is shown storing an operating system 1714 for controlling the operation of the server system 1700. A binary input/output system (BIOS) 1716 for controlling the low-level operation of the server system 1700 is also stored in the memory 1712.
[0129] The memory 1712 additionally stores program code and data for providing network services that allow client devices and sellers to exchange information and data files with the server system 1700 and/or the management service 1710. A data store manager application 1720 facilitates data exchange and mapping between the mappings data store 171 1 , the image data store 1713, the item catalog data store 1715, and/or the user profile data store 1717, client devices, such as the client device 104 shown in FIG. 1 , and/or sellers, such as the sellers 106 shown in FIG. 1. [0130] As used herein, the term "data store" refers to any device or combination of devices capable of storing, accessing and retrieving data, which may include any combination and number of data servers, databases, data storage devices and data storage media, in any standard, distributed or clustered environment. The server system 1700 can include any appropriate hardware and software for integrating with the data stores 171 1, 1713, 1715, 1717 as needed to execute aspects of one or more applications for the client device, the sellers and/or the management service 1710. The server system 1700 provides access control services in cooperation with the data stores 1711 , 1713, 1715, 1717 and is able to generate content such as text, graphics, audio, video and/or images to be transferred to a client device and/or sellers. [0131] The data stores 171 1, 1713, 1715, 1717 can include several separate data tables, databases or other data storage mechanisms and media for storing data relating to a particular aspect. For example, the data stores 171 1, 1713, 1715, 1717 illustrated include mechanisms for storing images, user information, mappings and item catalogs from sellers of items, which can be used to generate and deliver content to client devices and/or sellers (e.g., user provided images and purchase controls) and control actions to be performed.
[0132] It should be understood that there can be many other aspects that may be stored in the data stores 171 1, 1713, 1715, 1717, such as access rights information, preferred sellers, etc., which can be stored in any of the above listed mechanisms as appropriate or in additional mechanisms of any of the data stores 171 1, 1713, 1715, 1717. The data stores 171 1 , 1713, 1715, 1717 are operable, through logic associated therewith, to receive instructions from the server system 1700 and obtain, update or otherwise process data in response thereto.
[0133] The memory 1712 may also include the management service 1710, discussed above. The management service 1710 may be executable by the processor 1701 to implement one or more of the functions of the server system 1700. In one
implementation, the management service 1710 may represent instructions embodied in one or more software programs stored in the memory 1712. In another implementation, the management service 1710 can represent hardware, software instructions, or a combination thereof. [0134] The server system 1700, in one implementation, is a distributed environment utilizing several computer systems and components that are interconnected via communication links, using one or more computer networks or direct connections.
However, it will be appreciated by those of ordinary skill in the art that such a system could operate equally well in a system having fewer or a greater number of components than are illustrated in FIG. 17. Thus, the depiction in FIG. 17 should be taken as being illustrative in nature and not limiting to the scope of the disclosure.
[0135] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claims.
[0136] Implementations of the disclosure can be described in view of the following clauses:
Clause 1. A computer-implemented method, comprising:
receiving from a user of a management service, an image that includes a representation of an item;
processing the image to determine item information related to the item;
associating the image with an item category based at least in part on the item information;
determining a plurality of potential sellers of the item represented in the image; requesting from each of the potential sellers a confirmation as to whether the item is offered for sale;
receiving a confirmation from a seller of the plurality of potential sellers confirming that the seller offers the item for sale;
associating the image with the seller; and
presenting the image and a purchase control to a second user, wherein the purchase control enables purchase by the second user of the item represented in the image from the seller.
Clause 2. The computer-implemented method of clause 1, further comprising: receiving from the seller, item variant information, wherein the item variant information identifies at least one of a price for the item, a size of the item, or a color of the item.
Clause 3. The computer-implemented method of clause 1, wherein presenting the image and the purchase control further includes, presenting seller information identifying the seller of the item.
Clause 4. The computer-implemented method of clause 1, further comprising: storing the image in an image data store maintained by the management service; and
associating the image with item information maintained in an item catalog maintained by the management service.
Clause 5. A non-transitory computer-readable storage medium storing instructions, the instructions when executed by a processor causing the processor to at least:
receive from a first user of a management service, a first image that includes a representation of a first item;
determine the first item represented in the first image;
determine a seller that offers the first item for sale, wherein the first user and the seller are different;
associate the first image with the seller; and present the first image and seller information to a second user, wherein the seller information identifies the seller of the first item represented in the first image.
Clause 6. The non-transitory computer-readable storage medium of clause 5, the instructions when executed by the processor further causing the processor to at least: present a purchase control selectable by the second user to initiate a purchase of the first item from the seller.
Clause 7. The non-transitory computer-readable storage medium of clause 6, the instructions when executed by the processor further causing the processor to at least: receive from the second user, a selection of the purchase control; and
present item variant information to the second user, wherein the item variant information includes at least one of a shipping cost for the item, a shipping time for the item, a shipping method for the item, a size of the item, a color of the item, or a quantity of the item.
Clause 8. The non-transitory computer-readable storage medium of clause 7, wherein the item variant information is obtained from the seller in response to receipt of the selection of the purchase control.
Clause 9. The non-transitory computer-readable storage medium of clause 7, wherein the item variant information is periodically received from the seller and maintained by the management service.
Clause 10. The non-transitory computer-readable storage medium of clause 5, the instructions when executed by the processor further causing the processor to at least:
receive from the seller an item catalog that includes item information for each of a plurality of items offered for sale by the seller,
wherein, for each of the plurality of items, the item information includes at least one of a second image representative of the item, a source location identifier associated with the item, or item variant information; and
store the item catalog in an item catalog data store maintained by the management service. Clause 11. The non-transitory computer-readable storage medium of clause 10, wherein the instructions when executed by the processor to cause the processor to determine the first item, further include instructions that cause the processor to at least: compare a first source location identifier associated with the first image with the item information maintained in the item catalog data store; and
determine the first item based on a match between the first source location identifier and a stored source location identifier maintained in the item catalog data store.
Clause 12. The non-transitory computer-readable storage medium of clause 10, wherein the instructions when executed by the processor to cause the processor to determine the first item, further include instructions that cause the processor to at least: process the first image with an image processing algorithm to determine a first feature vector representative of the item represented in the image;
compare the first feature vector with the item information maintained in the item catalog data store; and
determine the first item based on similarity between the first feature vector and a stored feature vector maintained in the item catalog data store.
Clause 13. The non-transitory computer-readable storage medium of clause 10, the instructions when executed by the processor further causing the processor to at least: process with an image processing algorithm, a plurality of images maintained in an image data store of the management service;
for each of the plurality of images:
determine a feature vector representative of an item represented in the image;
compare the feature vector with stored feature vectors maintained in the item catalog data store;
determine, based at least in part on the comparison, the item and a seller of the item; and
associate the image with the item and the seller of the item.
Clause 14. The non-transitory computer-readable storage medium of clause 5, wherein:
the first image includes a representation of a second item, the instructions when executed by the processor further causing the processor to at least:
determine the second item represented in the first image;
determine a second seller that offers the second item for sale; and present the first image and second seller information to the second user, wherein the second seller information identifies the second seller of the second item represented in the image.
Clause 15. The non-transitory computer-readable storage medium of clause 14, the instructions when executed by the processor further causing the processor to at least: present a first purchase control selectable by the second user to initiate a first purchase of the first item from the seller; and
present a second purchase control selectable by the second user to initiate a second purchase of the second item from the second seller.
Clause 16. A computing system, comprising:
one or more processors; and
a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to perform a method comprising:
receiving from a first seller, item information for an item offered for sale by the first seller;
storing the item information for the item in an item catalog data store maintained by a management service;
receiving from a first user, a first image that includes a representation of a first item, wherein the first user and the first seller are different;
comparing the first image with the item information for the item;
determining, based at least in part on the comparison, that the first item represented in the first image corresponds with the item offered for sale by the first seller;
associating the first image with the item; and
presenting to the first user the first image, an identification of the first seller, and a purchase control that is selectable by the first user to initiate a purchase of the item from the first seller. Clause 17. The computing system of clause 16, the method further comprising: determining that the item is available for purchase from a second seller; and presenting to the user an option to select to purchase the item from the first seller or the second seller.
Clause 18. The computing system of clause 16, the method further comprising: requesting that the first seller confirm that the first image includes a representation of the item;
receiving a confirmation that the first image includes a representation of the item; and
wherein determining that the first item represented in the first image corresponds with the item is further based at least in part on the confirmation.
Clause 19. The computing system of clause 16, wherein comparing the first image includes:
comparing first image information with the item information, the first image information including a source location identifier corresponding to a source of the first image. Clause 20. The computing system of clause 16, the method further comprising: receiving a selection of the purchase control; and
facilitating a purchase of the item, wherein the purchase is between the first user and the first seller, and the first seller delivers the item to the first user.

Claims

CLAIMS WHAT IS CLAIMED IS:
1. A computer-implemented method, comprising:
receiving from a user of a management service, an image that includes a representation of an item;
processing the image to determine item information related to the item;
associating the image with an item category based at least in part on the item information;
determining a plurality of potential sellers of the item represented in the image; requesting from each of the potential sellers a confirmation as to whether the item is offered for sale;
receiving a confirmation from a seller of the plurality of potential sellers confirming that the seller offers the item for sale;
associating the image with the seller; and
presenting the image and a purchase control to a second user, wherein the purchase control enables purchase by the second user of the item represented in the image from the seller.
2. The computer-implemented method of claim 1, further comprising:
receiving from the seller, item variant information, wherein the item variant information identifies at least one of a price for the item, a size of the item, or a color of the item.
3. The computer-implemented method of claim 1, further comprising:
storing the image in an image data store maintained by the management service; and
associating the image with item information maintained in an item catalog maintained by the management service.
4. A non-transitory computer-readable storage medium storing instructions, the instructions when executed by a processor causing the processor to at least:
receive from a first user of a management service, a first image that includes a representation of a first item;
determine the first item represented in the first image;
determine a seller that offers the first item for sale, wherein the first user and the seller are different;
associate the first image with the seller; and
present the first image and seller information to a second user, wherein the seller information identifies the seller of the first item represented in the first image.
5. The non-transitory computer-readable storage medium of claim 4, the instructions when executed by the processor further causing the processor to at least:
present a purchase control selectable by the second user to initiate a purchase of the first item from the seller.
6. The non-transitory computer-readable storage medium of claim 5, the instructions when executed by the processor further causing the processor to at least:
receive from the second user, a selection of the purchase control; and
present item variant information to the second user, wherein the item variant information includes at least one of a shipping cost for the item, a shipping time for the item, a shipping method for the item, a size of the item, a color of the item, or a quantity of the item.
7. The non-transitory computer-readable storage medium of claim 4, the instructions when executed by the processor further causing the processor to at least:
receive from the seller an item catalog that includes item information for each of a plurality of items offered for sale by the seller,
wherein, for each of the plurality of items, the item information includes at least one of a second image representative of the item, a source location identifier associated with the item, or item variant information; and
store the item catalog in an item catalog data store maintained by the management service.
8. The non-transitory computer-readable storage medium of claim 7, wherein the instructions when executed by the processor to cause the processor to determine the first item, further include instructions that cause the processor to at least:
compare a first source location identifier associated with the first image with the item information maintained in the item catalog data store; and
determine the first item based on a match between the first source location identifier and a stored source location identifier maintained in the item catalog data store.
9. The non-transitory computer-readable storage medium of claim 7, wherein the instructions when executed by the processor to cause the processor to determine the first item, further include instructions that cause the processor to at least:
process the first image with an image processing algorithm to determine a first feature vector representative of the item represented in the image;
compare the first feature vector with the item information maintained in the item catalog data store; and
determine the first item based on similarity between the first feature vector and a stored feature vector maintained in the item catalog data store.
10. The non-transitory computer-readable storage medium of claim 4, wherein:
the first image includes a representation of a second item,
the instructions when executed by the processor further causing the processor to at least:
determine the second item represented in the first image;
determine a second seller that offers the second item for sale; and present the first image and second seller information to the second user, wherein the second seller information identifies the second seller of the second item represented in the image.
1 1. A computing system, comprising:
one or more processors; and
a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to perform a method comprising: receiving from a first seller, item information for an item offered for sale by the first seller;
storing the item information for the item in an item catalog data store maintained by a management service;
receiving from a first user, a first image that includes a representation of a first item, wherein the first user and the first seller are different;
comparing the first image with the item information for the item;
determining, based at least in part on the comparison, that the first item represented in the first image corresponds with the item offered for sale by the first seller;
associating the first image with the item; and
presenting to the first user the first image, an identification of the first seller, and a purchase control that is selectable by the first user to initiate a purchase of the item from the first seller.
12. The computing system of claim 11 , the method further comprising:
determining that the item is available for purchase from a second seller; and presenting to the user an option to select to purchase the item from the first seller or the second seller.
13. The computing system of claim 11 , the method further comprising:
requesting that the first seller confirm that the first image includes a representation of the item;
receiving a confirmation that the first image includes a representation of the item; and
wherein determining that the first item represented in the first image corresponds with the item is further based at least in part on the confirmation.
14. The computing system of claim 11 , wherein comparing the first image includes: comparing first image information with the item information, the first image information including a source location identifier corresponding to a source of the first image.
15. The computing system of claim 11, the method further comprising:
receiving a selection of the purchase control; and
facilitating a purchase of the item, wherein the purchase is between the first and the first seller, and the first seller delivers the item to the first user.
EP16793471.0A 2015-05-12 2016-05-11 Matching user provided representations of items with sellers of those items Withdrawn EP3295406A4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562160456P 2015-05-12 2015-05-12
US14/726,929 US10269055B2 (en) 2015-05-12 2015-06-01 Matching user provided representations of items with sellers of those items
US14/964,307 US10679269B2 (en) 2015-05-12 2015-12-09 Item selling on multiple web sites
PCT/US2016/031914 WO2016183233A1 (en) 2015-05-12 2016-05-11 Matching user provided representations of items with sellers of those items

Publications (2)

Publication Number Publication Date
EP3295406A1 true EP3295406A1 (en) 2018-03-21
EP3295406A4 EP3295406A4 (en) 2018-09-26

Family

ID=60410057

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16793471.0A Withdrawn EP3295406A4 (en) 2015-05-12 2016-05-11 Matching user provided representations of items with sellers of those items

Country Status (3)

Country Link
EP (1) EP3295406A4 (en)
JP (4) JP6712719B2 (en)
CA (1) CA2985892A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11202104293RA (en) * 2018-11-02 2021-05-28 Verona Holdings Sezc A tokenization platform
JP6934855B2 (en) * 2018-12-20 2021-09-15 ヤフー株式会社 Control program
KR102706769B1 (en) * 2021-05-10 2024-09-19 엔에이치엔 주식회사 Device and method to provide data associated with shopping mall web page

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002109259A (en) 2000-09-27 2002-04-12 Media Rom Corporation:Kk Commercial transaction method using animation video and communication network, article ordering system and article order receiving computer
JP2003099629A (en) 2001-09-21 2003-04-04 Matsushita Electric Works Ltd Remote selling system and method for merchandise
US20090319388A1 (en) * 2008-06-20 2009-12-24 Jian Yuan Image Capture for Purchases
JP5578077B2 (en) * 2008-08-08 2014-08-27 株式会社ニコン Search support system, search support method, and search support program
US8719104B1 (en) * 2009-03-31 2014-05-06 Amazon Technologies, Inc. Acquiring multiple items in an image
JP2012190094A (en) 2011-03-09 2012-10-04 Sony Corp Server device, and information processing method and program
JP5395920B2 (en) * 2012-02-14 2014-01-22 楽天株式会社 Search device, search method, search program, and computer-readable recording medium storing the program
JP5869989B2 (en) * 2012-08-24 2016-02-24 富士フイルム株式会社 Article collation apparatus and method, and program
JP2014215929A (en) * 2013-04-29 2014-11-17 株式会社AppReSearch Commodity information server, user terminal, commodity information providing method, and program for commodity information server

Also Published As

Publication number Publication date
JP6712719B2 (en) 2020-06-24
JP7038880B2 (en) 2022-03-18
CA2985892A1 (en) 2016-11-17
JP7350919B2 (en) 2023-09-26
JP2021184287A (en) 2021-12-02
JP6928690B2 (en) 2021-09-01
JP2020126678A (en) 2020-08-20
JP2018515848A (en) 2018-06-14
JP2022071168A (en) 2022-05-13
EP3295406A4 (en) 2018-09-26

Similar Documents

Publication Publication Date Title
US11935102B2 (en) Matching user provided representations of items with sellers of those items
US20230005039A1 (en) Matching user provided representations of items with sellers of those items
AU2021269452A1 (en) Integrated online and offline inventory management
JP7350919B2 (en) Matching the display of products provided by users with the sellers of those products
US20230298069A1 (en) Promoting representations of items to users on behalf of sellers of those items
US20150178814A1 (en) Methods and systems for conducting online transactions
JP6861729B2 (en) Purchase transaction data retrieval system with unobtrusive side-channel data recovery
US20140330666A1 (en) Methods and apparatus for providing an electronic commerce platform
US20220261848A1 (en) Micro influencer hyperlinking
TW202203118A (en) Incorporating a product in a multi-level marketing system
KR101256245B1 (en) Method and system to deliver digital goods
US20140278962A1 (en) Method and system for implementing a sales system having a friend offer mechanism
KR102608859B1 (en) Method and system for operating online market management integrated platform
JP4705826B2 (en) Online business negotiation system
US11443366B2 (en) Systems and methods for real time online to offline (O2O) shopping in and messaging to physical retail stores
US20230289849A1 (en) Method and computing system for matching donors with the essential product needs of charity recipients and the process of delivery from retailer directly to the recipient
US20140081807A1 (en) Automated shipping address provision for gift giving processes including private label service

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20171113

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20180823

RIC1 Information provided on ipc code assigned before grant

Ipc: G06Q 30/06 20120101AFI20180817BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20200908

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20220412