IP Library Granted Patent US 9,547,666
Granted Patent B2
US 9,547,666 · App. 14/529,682 · Granted Jan 17, 2017

Location graph based derivation of attributes

Inventors: Kevin Ching (Berkeley, CA); Grigory Sokol (Castro Valley, CA); Ahmad Fairiz Azizi (Santa Clara, CA); Luke Gain (Santa Clara, CA); Yury Zhyshko (Minsk, BY); Mark Dixon (Belmont, CA); Robert Abusaidi (Angels Camp, CA); Kevin McKenzie (Moraga, CA); John Raymond Klein (El Dorado Hills, CA); Leonid Blyukher (Burlingame, CA); Jeff Pittelkau (Oakland, CA); David Staas (Menlo Park, CA)
Assignee: NinthDecimal, Inc.
G06F17/30241G06F17/3087
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 9,547,666
App. No.
14/529,682
Granted
Jan 17, 2017
Kind
B2
Abstract

Location graph-based derivation of user attributes is disclosed. In various embodiments, location data associated with a user, such as a current and/or past location at which the user has been, is received. A user attribute data associated with the location data is determined and used to update a user profile associated with the user.

Claims (67)

1. A method, comprising:

storing, in a computing apparatus, a first set of location data, the first set of location data identifying:

a plurality of predetermined first locations, and

a set of attributes of past users who have visited the plurality of predetermined first locations and thus associated with the plurality of predetermined first locations in the computing apparatus;

receiving, in the computing apparatus, user location data, the user location data identifying a plurality of second locations at which a mobile device of a user is observed;

mapping, by the computing apparatus, the plurality of second locations of the mobile device to corresponding locations in the plurality of predetermined first locations, wherein each of the plurality of second locations of the mobile device is mapped to a corresponding location in the plurality of predetermined first locations in the first set of location data;

identifying, by the computing apparatus based on the mapping and the first set of location data stored in the computing apparatus, first attributes of past users who have visited the corresponding locations in the plurality of predetermined first locations, where the first attributes are, in the first set of location data, associated with the corresponding locations to which the plurality of second locations of the mobile device are mapped;

updating, by the computing apparatus, a profile of the user by adjusting the profile of the user, using a weighted algorithm, based on the first attributes that are identified, via the mapping, from the first set of location data, wherein in response to further user location data of the mobile device being mapped into further predetermined locations in the plurality of predetermined first locations that are identified in the first set of location data, the updating of the profile is repeated for the further predetermined locations, based on the weighted algorithm and further attributes associated in the first set of location data with the further predetermined locations, to incrementally improve accuracy of the profile; and

determining, by the computing apparatus, confidence levels of attributes in the user profile including the first attributes identified via the mapping.

2. The method of claim 1 , wherein a first attribute is associated with a pattern of being at a subset of the plurality of predetermined first locations; and the method further comprises:

determining whether the plurality of second locations of the mobile device as being mapped to the corresponding locations in the plurality of predetermined first locations include the pattern;

wherein the updating includes:

in response to a determination that the plurality of second locations of the mobile device as being mapped to the corresponding locations in the plurality of predetermined first locations include the pattern, updating the user profile to include the first attribute.

3. The method of claim 2 , wherein the pattern is based at least in part on times of visiting locations in the subset of the plurality of predetermined first locations.

4. The method of claim 1 , wherein each location of the plurality of predetermined first locations corresponds to a predefined geographic area.

5. The method of claim 1 , wherein the updating includes updating a confidence level of a first attribute in the profile of the user based on a detection of a location in the plurality of second locations of the mobile device being within a location in the plurality of predetermined first locations that is related to the first attribute.

6. The method of claim 1 , further comprising:

receiving a request from a second user having a profile, the request identifying a current location of the second user; and

updating the first set of location data based on the profile of the second user.

7. The method of claim 6 , further comprising:

determining a corresponding location in the plurality of predetermined first locations in the first set of location data;

wherein the updating the first set of location data includes updating attributes associated with the corresponding location in the plurality of predetermined first locations based on the profile of the second user.

8. A non-transitory computer storage medium storing instructions configured to instruct a computing apparatus to perform a method, the method comprising:

storing, in the computing apparatus, a first set of location data, the first set of location data identifying:

a plurality of predetermined first locations, and

a set of attributes of past users who have visited the plurality of predetermined first locations and thus associated with the plurality of predetermined first locations in the computing apparatus;

receiving, in the computing apparatus, user location data, the user location data identifying a plurality of second locations at which a mobile device of a user is observed;

mapping, by the computing apparatus, the plurality of second locations of the mobile device to corresponding locations in the plurality of predetermined first locations, wherein each of the plurality of second locations of the mobile device is mapped to a corresponding location in the plurality of predetermined first locations in the first set of location data;

identifying, by the computing apparatus based on the mapping and the first set of location data stored in the computing apparatus, first attributes of past users who have visited the corresponding locations in the plurality of predetermined first locations, where the first attributes are, in the first set of location data, associated with the corresponding locations to which the plurality of second locations of the mobile device are mapped;

updating, by the computing apparatus, a profile of the user by adjusting the profile of the user, using a weighted algorithm, based on the first attributes that are identified, via the mapping, from the first set of location data wherein in response to further user location data of the mobile device being mapped into further predetermined locations in the plurality of predetermined first locations that are identified in the first set of location data, the updating of the profile is repeated for the further predetermined locations, based on the weighted algorithm and further attributes associated in the first set of location data with the further predetermined locations, to incrementally improve accuracy of the profile; and

determining, by the computing apparatus, confidence levels of attributes in the user profile including the first attributes identified via the mapping.

9. The medium of claim 8 , wherein a first attribute is associated with a pattern of being at a subset of the plurality of predetermined first locations; and the method further comprises:

determining whether the plurality of second locations of the mobile device as being mapped to the corresponding locations in the plurality of predetermined first locations include the pattern;

wherein the updating includes:

in response to a determination that the plurality of second locations of the mobile device as being mapped to the corresponding locations in the plurality of predetermined first locations include the pattern, updating the user profile to include the first attribute.

10. The medium of claim 9 , wherein the pattern is based at least in part on times of visiting locations in the subset of the plurality of predetermined first locations.

11. The medium of claim 8 , wherein each location of the plurality of predetermined first locations corresponds to a predefined geographic area.

12. The medium of claim 8 , wherein the updating includes updating a confidence level of a first attribute in the profile of the user based on a detection of a location in the plurality of second locations of the mobile device being within a location in the plurality of predetermined first locations that is related to the first attribute.

13. The medium of claim 8 , wherein the method further comprises:

receiving a request from a second user having a profile, the request identifying a current location of the second user; and

updating the first set of location data based on the profile of the second user.

14. The medium of claim 13 , wherein the method further comprises:

determining a corresponding location in the plurality of predetermined first locations in the first set of location data;

wherein the updating the first set of location data includes updating attributes associated with the corresponding location in the plurality of predetermined first locations based on the profile of the second user.

15. A computing apparatus, comprising:

at least one processor;

a memory storing instructions configured to instruct the at least one processor to:

store, in the computing apparatus, a first set of location data, the first set of location data identifying:

a plurality of predetermined first locations, and

a set of attributes of past users who have visited the plurality of predetermined first locations and thus associated with the plurality of predetermined first locations in the computing apparatus;

receive, in the computing apparatus, user location data, the user location data identifying a plurality of second locations at which a mobile device of a user is observed;

map, by the computing apparatus, the plurality of second locations of the mobile device to corresponding locations in the plurality of predetermined first locations, wherein each of the plurality of second locations of the mobile device is mapped to a corresponding location in the plurality of predetermined first locations in the first set of location data;

identify, by the computing apparatus based on the mapping and the first set of location data stored in the computing apparatus, first attributes of past users who have visited the corresponding locations in the plurality of predetermined first locations, where the first attributes are, in the first set of location data, associated with the corresponding locations to which the plurality of second locations of the mobile device are mapped;

update, by the computing apparatus, a profile of the user by adjusting the profile of the user, using a weighted algorithm, based on the first attributes that are identified, via the mapping, from the first set of location data, wherein in response to further user location data of the mobile device being mapped into further predetermined locations in the plurality of predetermined first locations that are identified in the first set of location data, updating of the profile is repeated for the further predetermined locations, based on the weighted algorithm and further attributes associated in the first set of location data with the further predetermined locations, to incrementally improve accuracy of the profile; and

determine, by the computing apparatus, confidence levels of attributes in the user profile including the first attributes identified via the mapping.

16. The computing apparatus of claim 15 , wherein:

a first attribute is associated with a pattern of being at a subset of the plurality of predetermined first locations;

the instructions are further configured to instruct the at least one processor to determine whether the plurality of second locations of the mobile device as being mapped to the corresponding locations in the plurality of predetermined first locations include the pattern; and

the profile of the user is updated to include the first attribute in response to a determination that the plurality of second locations of the mobile device as being mapped to the corresponding locations in the plurality of predetermined first locations include the pattern.

17. The computing apparatus of claim 16 , wherein the pattern is based at least in part on times of visiting locations in the subset of the plurality of predetermined first locations.

18. The computing apparatus of claim 15 , wherein the profile of the user is updated via updating a confidence level of a first attribute in the profile of the user based on a detection of a location in the plurality of second locations of the mobile device being within a location in the plurality of predetermined first locations that is related to the first attribute.

19. The computing apparatus of claim 15 , wherein the instructions are further configured to instruct the at least one processor:

receive a request from a second user having a profile, the request identifying a current location of the second user; and

update the first set of location data based on the profile of the second user.

20. The computing apparatus of claim 19 , wherein the instructions are further configured to instruct the at least one processor:

determine a corresponding location in the plurality of predetermined first locations in the first set of location data; and

update attributes associated with the corresponding location in the plurality of predetermined first locations based on the profile of the second user to update the first set of location data.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Nov 27, 2023
From: MULTIPLIER CAPITAL II, LP
To: INMARKET MEDIA, LLC
Reel/Frame 065677/0537 →
SECURITY INTEREST Recorded Oct 27, 2023
From: INMARKET MEDIA, LLC
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 065367/0537 →
SECURITY INTEREST Recorded Sep 1, 2022
From: INMARKET MEDIA, LLC
To: MULTIPLIER GROWTH PARTNERS, LP
Reel/Frame 060963/0081 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2022
From: NORTH ATLANTIC VENTURE FUND V, L.P.
To: NINTHDECIMAL, INC.
Reel/Frame 058613/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2021
From: NINTHDECIMAL, INC.
To: INMARKET MEDIA, LLC
Reel/Frame 055183/0951 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2020
From: WESTERN ALLIANCE BANK
To: NINTHDECIMAL, INC.
Reel/Frame 053734/0254 →
SECURITY INTEREST Recorded Sep 9, 2020
From: INMARKET MEDIA, LLC
To: MULTIPLIER CAPITAL II, LP
Reel/Frame 053719/0908 →
SECURITY INTEREST Recorded Mar 13, 2019
From: NINTHDECIMAL, INC.
To: MULTIPLIER CAPITAL II, LP
Reel/Frame 048589/0199 →
SECURITY INTEREST Recorded Oct 16, 2017
From: NINTHDECIMAL, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 043875/0564 →
SECURITY INTEREST Recorded Feb 10, 2017
From: NINTHDECIMAL, INC.
To: NORTH ATLANTIC VENTURE FUND V, L.P.
Reel/Frame 041224/0523 →
CHANGE OF NAME Recorded Nov 6, 2014
From: JIWIRE, INC
To: NINTHDECIMAL, INC
Reel/Frame 034181/0517 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2014
From: CHING, KEVIN; SOKOL, GRIGORY; AZIZI, AHMAD FAIRIZ; GAIN, LUKE; ZHYSHKO, YURY; DIXON, MARK; ABUSAIDI, ROBERT; MCKENZIE, KEVIN; KLEIN, JOHN RAYMOND; BLYUKHER, LEONID; PITTELKAU, JEFF; STAAS, DAVID
To: JIWIRE, INC.
Reel/Frame 034142/0360 →
Continuity (3)
Continuation 13924103 · Jun 21, 2013
Provisional Application 61663183 · Jun 22, 2012
Related Publication 20150052132A1 · Feb 19, 2015