IP Library Granted Patent US 10,373,204
Granted Patent B1
US 10,373,204 · App. 14/749,348 · Granted Aug 6, 2019

Mobile visual locator

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,373,204
App. No.
14/749,348
Granted
Aug 6, 2019
Kind
B1
Abstract

Techniques for providing remote messages to mobile devices based on image data and other sensor data are discussed herein. Some embodiments may include one or more servers configured to: receive, from a consumer device via a network, location data indicating a consumer device location of a consumer device; receive, from the consumer device via the network, image data captured by a camera of the consumer device; receive, from the consumer device via the network, orientation data defining an orientation of the camera when the image data was captured, wherein the orientation data is captured by an accelerometer of the consumer device; attempt to extract a merchant identifier from the image based on programmatically processing the image data; determine one or more merchants based on a fuzzy search of available ones of the location data, the merchant identifier, and the orientation data.

Claims (115)

1. A system, comprising:

one or more servers configured to:

receive, from a consumer device via a network, location data indicating a consumer device location of the consumer device;

receive, from the consumer device via the network, image data captured by a camera of the consumer device;

receive, from the consumer device via the network, orientation data defining an orientation of the camera when the image data was captured, wherein the orientation data is captured by an accelerometer of the consumer device;

extract a merchant identifier from the image based on programmatically processing the image data;

determine a candidate merchant set based on a fuzzy search of the location data, the merchant identifier, and the orientation data, wherein the fuzzy search comprises:

determining an edit distance for each candidate merchant of the candidate merchant set based on the location data, the merchant identifier, and the orientation data,

assigning an edit score to each candidate merchant of the candidate merchant set based on the edit distance, and

comparing the edit score of each candidate merchant of the candidate merchant set to a pre-determined threshold to identify a candidate merchant sub-set;

determine if the candidate merchant sub-set identified by the fuzzy search includes multiple merchants;

in response to determining that the candidate merchant sub-set includes multiple merchants:

send an indication of the multiple merchants to the consumer device via the network;

receive a selection of a first merchant profile of the multiple merchants from the consumer device;

determine the first merchant as a selected merchant;

subsequent to determining the first merchant as the selected merchant, associate the first merchant profile with the location data, the merchant identifier, and the orientation data for one or more subsequent fuzzy searches by:

comparing the merchant identifier with an actual merchant name associated with the first merchant profile,

based on the comparing, determining that the merchant identifier is different from the actual merchant name associated with the first merchant profile,

associating the merchant identifier with the first merchant profile,

associating the location data with the first merchant profile, and

associating the orientation data with the first merchant profile; and

provide an electronic marketing communication associated with the selected merchant to the consumer device.

2. The system of claim 1 , wherein the one or more servers are further configured to, in response to determining that the one or more merchants includes a single merchant:

determine the single merchant as a second selected merchant; and

provide a second electronic marketing communication associated with the second selected merchant to consumer device.

3. The system of claim 2 , wherein the one or more servers are further configured to, in response to determining that the one or more merchants includes the single merchant:

send a merchant confirmation request to the consumer device via the network; and

confirm the single merchant as the second selected merchant based on receiving a response to the merchant confirmation request from the consumer device via the network.

4. The system of claim 2 , wherein the one or more servers are further configured to:

determine, based on accessing promotion data associated with the selected merchant, whether the selected merchant is associated with an available promotion; and

in response to determining that the selected merchant is associated with the available promotion, generate the electronic marketing communication including an indication of the available promotion.

5. The system of claim 2 , wherein the one or more servers are further configured to:

determine, based on accessing promotion data associated with the selected merchant, whether the selected merchant is associated with an available promotion; and

in response to determining that the selected merchant fails to be associated with an available promotion:

determine merchant parameters associated with the selected merchant;

determine, based on the merchant parameters and promotion parameters defining candidate promotions, one or more promotions associated with merchants that are different from the selected merchant and related to the selected merchant; and

generate the electronic marketing communication including an indication of at least one of the one or more promotions.

6. The system of claim 1 , wherein the one or more servers are further configured to, subsequent to determining the first merchant as the selected merchant:

determine, based on accessing promotion data associated with the selected merchant, whether the selected merchant is associated with an available promotion; and

in response to determining that the selected merchant fails to be associated with an available promotion:

determine merchant parameters associated with the selected merchant;

determine, based on the merchant parameters and promotion parameters defining candidate promotions, one or more promotions associated with merchants that are different from the selected merchant and related to the selected merchant; and

generate the electronic marketing communication including an indication of at least one of the one or more promotions.

7. The system of claim 1 , wherein the one or more servers configured to determine one or more merchants based on the fuzzy search of the location data, the merchant identifier, and the orientation data includes the one or more servers being configured to:

access merchant location data defining merchant locations; and

compare the merchant location data with the location data indicating the consumer device location.

8. The system of claim 1 , wherein the one or more servers configured to determine one or more merchants based on the fuzzy search of the location data, the merchant identifier, and the orientation data includes the one or more servers being configured to:

access merchant identifier data defining merchant identifiers; and

compare the merchant identifiers defined by the merchant identifier data with the merchant identifier extracted from the image.

9. The system of claim 1 , wherein the one or more servers configured to determine one or more merchants based on the fuzzy search of the location data, the merchant identifier, and the orientation data includes the one or more servers being configured to:

access merchant orientation data defining orientations of cameras associated with image data of the one or more merchants; and

compare the orientations of cameras associated with the image data of the one or more merchants with orientation of the camera when the image data was captured by the consumer device.

10. The system of claim 1 , wherein the one or more servers configured to attempt to extract the merchant identifier from the image based on programmatically processing the image data includes the one or more servers configured to:

extract an object from the image data; and

determine the merchant identifier based on the object.

11. A method, comprising:

receiving, by one or more servers and from a consumer device via a network, location data indicating a consumer device location of the consumer device;

receiving, from the consumer device via the network, image data captured by a camera of the consumer device;

receiving, from the consumer device via the network, orientation data defining an orientation of the camera when the image data was captured, wherein the orientation data is captured by an accelerometer of the consumer device;

extracting a merchant identifier from the image based on programmatically processing the image data;

determining a candidate merchant set based on a fuzzy search of the location data, the merchant identifier, and the orientation data, wherein the fuzzy search comprises:

determining an edit distance for each candidate merchant of the candidate merchant set based on the location data, the merchant identifier, and the orientation data,

assigning an edit score to each candidate merchant of the candidate merchant set based on the edit distance,

comparing the edit score of each candidate merchant of the candidate merchant set to a pre-determined threshold to identify a candidate merchant sub-set;

determining whether the candidate merchant sub-set identified by the fuzzy search includes multiple merchants;

subsequent to determining the first merchant as the selected merchant, associating the first merchant profile with the location data, the merchant identifier, and the orientation data for one or more subsequent fuzzy searches by:

comparing the merchant identifier with an actual merchant name associated with the first merchant profile,

based on the comparing, determining that the merchant identifier is different from the actual merchant name associated with the first merchant profile,

associating the merchant identifier with the first merchant profile,

associating the location data with the first merchant profile, and

associating the orientation data with the first merchant profile;

in response to determining that the candidate merchant sub-set includes multiple merchants:

sending an indication of the multiple merchants to the consumer device via the network,

receiving a selection of a first merchant of the multiple merchants from the consumer device,

determining the first merchant as a selected merchant, and

providing an electronic marketing communication associated with the selected merchant to the consumer device.

12. The method of claim 11 further comprising, by the one or more servers and subsequent to determining the first merchant as the selected merchant, associating the first merchant profile with the location data, the merchant identifier, and the orientation data for one or more subsequent fuzzy searches by:

comparing the merchant identifier with an actual merchant name associated with the first merchant profile;

based on the comparing, determining that the merchant identifier is different from the actual merchant name associated with the first merchant profile;

associating the merchant identifier with the first merchant profile;

associating the location data with the first merchant profile; and

associating the orientation data with the first merchant profile.

13. The method of claim 11 further comprising, by the one or more servers and in response to determining that the one or more merchants includes a single merchant:

determining the single merchant as a second selected merchant; and

providing a second electronic marketing communication associated with the second selected merchant to consumer device.

14. The method of claim 13 further comprising, by the one or more servers and in response to determining that the one or more merchants includes the single merchant:

sending a merchant confirmation request to the consumer device via the network; and

confirming the single merchant as the second selected merchant based on receiving a response to the merchant confirmation request from the consumer device via the network.

15. The method of claim 13 further comprising, by the one or more servers:

determining, based on accessing promotion data associated with the selected merchant, whether the selected merchant is associated with an available promotion; and

in response to determining that the selected merchant is associated with the available promotion, generating the electronic marketing communication including an indication of the available promotion.

16. The method of claim 13 further comprising, by the one or more servers:

determining, based on accessing promotion data associated with the selected merchant, whether the selected merchant is associated with an available promotion; and

in response to determining that the selected merchant fails to be associated with an available promotion:

determining merchant parameters associated with the selected merchant;

determining, based on the merchant parameters and promotion parameters defining candidate promotions, one or more promotions associated with merchants that are different from the selected merchant and related to the selected merchant; and

generating the electronic marketing communication including an indication of at least one of the one or more promotions.

17. The method of claim 11 further comprising, by the one or more servers and subsequent to determining the first merchant as the selected merchant:

determining, based on accessing promotion data associated with the selected merchant, whether the selected merchant is associated with an available promotion; and

in response to determining that the selected merchant fails to be associated with an available promotion:

determining merchant parameters associated with the selected merchant;

determining, based on the merchant parameters and promotion parameters defining candidate promotions, one or more promotions associated with merchants that are different from the selected merchant and related to the selected merchant; and

generating the electronic marketing communication including an indication of at least one of the one or more promotions.

18. The method of claim 11 , wherein determining the one or more merchants based on the fuzzy search of the location data, the merchant identifier, and the orientation data includes:

accessing merchant location data defining merchant locations; and

comparing the merchant location data with the location data indicating the consumer device location.

19. The method of claim 11 , wherein determining the one or more merchants based on the fuzzy search of the location data, the merchant identifier, and the orientation data includes:

accessing merchant identifier data defining merchant identifiers; and

comparing the merchant identifiers defined by the merchant identifier data with the merchant identifier extracted from the image.

20. The method of claim 11 , wherein determining the one or more merchants based on the fuzzy search of the location data, the merchant identifier, and the orientation data includes:

accessing merchant orientation data defining orientations of cameras associated with image data of the one or more merchants; and

comparing the orientations of cameras associated with the image data of the one or more merchants with orientation of the camera when the image data was captured by the consumer device.

21. The method of claim 11 , wherein attempting to extract the merchant identifier from the image based on programmatically processing the image data includes:

extracting an object from the image data; and

determining the merchant identifier based on the object.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068833/0811 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR'S NAME OF CHUJUN CHEN PREVIOUSLY RECORDED ON REEL 049373 FRAME 0554. ASSIGNOR(S) HEREBY CONFIRMS THE INVENTOR'S NAME IS CHUNJUN CHEN. Recorded Jun 12, 2019
From: KANDAVANAM, GAJARUBAN; OAK, SARIKA; YE, GLORIA; CHEN, CHUNJUN
To: GROUPON, INC.
Reel/Frame 051486/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2019
From: KANDAVANAM, GAJARUBAN; OAK, SARIKA; YE, GLORIA; CHEN, CHUJUN
To: GROUPON, INC.
Reel/Frame 049373/0554 →