IP Library Granted Patent US 8,892,551
Granted Patent B2
US 8,892,551 · App. 13/536,350 · Granted Nov 18, 2014

Method and system of location-based content organization and content suggestions

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 8,892,551
App. No.
13/536,350
Granted
Nov 18, 2014
Kind
B2
Abstract

A method of location-based data organization is provided. The method includes obtaining a graph that includes nodes, each node connected to at least one other node with an arc. The nodes include a geography nodes associated with geographical locations, and activity nodes. The method also includes dynamically assigning weights to the nodes, and finding, for a first activity node, a suggested set of one or more activity nodes.

Claims (39)

1. A method of location-based data organization, the method comprising:

obtaining a graph comprising a plurality of nodes, each node connected to at least one other node with an arc, wherein the plurality of nodes comprises:

a plurality of geography nodes associated with geographical locations, wherein the plurality of geography nodes include at least one parent geography node representing a geographic location and a plurality of child geography nodes representing sub-geographic locations of a geographic location,

a plurality of user nodes that are associated with users and that are connected via arcs to at least some of the plurality of geography nodes, wherein the arcs include an influence arc that indicates a level of territorial influence that the user node has in a geographic location associated with the geography node, and

a plurality of activity nodes associated with the plurality of user nodes;

dynamically assigning weights to the plurality of nodes; and

finding, for a first activity node of the plurality of activity nodes or a user node of the plurality of user nodes, a suggested set of one or more activity nodes based on the assigned weights and a weight associated with the influence arc.

2. The method of claim 1 , wherein each user node of the plurality of user nodes is associated with a user and is connected to a geography node that is associated with the geographical location of the user.

3. The method of claim 2 , wherein finding the suggested set comprises traversing the graph and calculating shortest paths between either the first activity node or the user node and the plurality of activity nodes.

4. The method of claim 3 , wherein calculating shortest paths is based at least in part on the weights assigned to the plurality of nodes.

5. The method of claim 3 , wherein each arc is associated with an arc type, each node is associated with a node type, and traversing the graph comprises following arcs associated with one of a set of predefined arc types and visiting nodes associated with one of a set of predefined node types.

6. The method of claim 2 , further comprising sorting the suggested set based on the lengths of the shortest paths.

7. A non-transitory computer readable medium storing a set of instructions that are executable by at least on processor of a computer to cause the computer to perform a method of location-based data organization, the method comprising:

obtaining a graph comprising a plurality of nodes, each node connected to at least one other node with an arc, wherein the plurality of nodes comprises:

a plurality of geography nodes associated with geographical locations, wherein the plurality of geography nodes includes at least one parent geography node representing a geographic location and a plurality of child geography nodes representing sub-geographic locations of a geographic location,

a plurality of user nodes that are associated with users and that are connected via arcs to at least some of the plurality of geography nodes, wherein the arcs include an influence arc that indicates a level of territorial influence that the user node has in a geographic location associated with the geography node, and

a plurality of activity nodes associated with the plurality of user nodes;

dynamically assigning weights to the plurality of nodes; and

finding, for a first activity node of the plurality of activity nodes or a user node of the plurality of user nodes, a suggested set of one or more activity nodes based on the assigned weights and a weight associated with the influence arc.

8. The non-transitory computer readable medium of claim 7 , wherein each user node of the plurality of user nodes is associated with a user and is connected to a geography node that is associated with the geographical location of the user.

9. The non-transitory computer readable medium of claim 8 , wherein finding the suggested set comprises traversing the graph and calculating shortest paths between either the first activity node or the user node and the plurality of activity nodes.

10. The non-transitory computer readable medium of claim 9 , wherein calculating shortest paths is based at least in part on the weights assigned to the plurality of nodes.

11. The non-transitory computer readable medium of claim 9 , wherein each arc is associated with an arc type, each node is associated with a node type, and traversing the graph comprises following arcs associated with one of a set of predefined arc types and visiting nodes associated with one of a set of predefined node types.

12. The non-transitory computer readable medium of claim 8 , wherein the method further comprises sorting the suggested set based on the lengths of the shortest paths.

13. A social network server comprising:

one or more processors; and

a data storage configured to store a graph engine and a suggestion engine, wherein the graph engine is configured to:

obtain a graph comprising a plurality of nodes, each node connected to at least one other node with an arc, wherein the plurality of nodes comprises:

a plurality of geography nodes associated with geographical locations, wherein the plurality of geography nodes includes at least one parent geography node representing a geographic location and a plurality of child geography nodes representing sub-geographic locations of a geographic location,

a plurality of user nodes that are associated with users and that are connected via arcs to at least some of the plurality of geography nodes, wherein the arcs include an influence arc that indicates a level of territorial influence that the user node has in a geographic location associated with the geography node, and

a plurality of activity nodes associated with the plurality of user nodes;

dynamically assign weights to the plurality of nodes; and

provide the graph to the suggestion engine.

14. The social network server of claim 13 , wherein the suggestion engine is configured to receive the graph from the graph engine, and to find, for a first activity node of the plurality of activity nodes or a user node of the plurality of user nodes, a suggested set of one or more activity nodes based on the assigned weights and a weight associated with the influence arc.

15. The social network server of claim 14 , wherein each user node of the plurality of user nodes is associated with a user and is connected to a geography node that is associated with the geographical location of the user.

16. The social network server of claim 15 , wherein finding the suggested set comprises traversing the graph and calculating shortest paths between either the first activity node or the user node and the plurality of activity nodes.

17. The social network server of claim 16 , wherein calculating shortest paths is based at least in part on the weights assigned to the plurality of nodes.

18. The social network server of claim 16 , wherein each arc is associated with an arc type, each node is associated with a node type, and traversing the graph comprises following arcs associated with one of a set of predefined are types and visiting nodes associated with one of a set of predefined node types.

19. The social network server of claim 15 , wherein the suggestion engine is further configured to sort the suggested set based on the lengths of the shortest paths.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: BYTEMOBILE INNOVATIONS, LLC
To: OPTIMORPHIX, INC.
Reel/Frame 064020/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE INNOVATIONS, LLC
Reel/Frame 059087/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 037289/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE, INC.
Reel/Frame 035440/0599 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 6, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031730/0322 →
THIS SUBMISSION IS TO CORRECT THE SPELLING OF THE RECEIVING PARTY (ASSIGNEE)'S STREET NAME IN THE ORIGINAL COVER SHEET RECORDED AT REEL/FRAME 030609/0389. THE ADDRESS NAME SHOULD BE WEST CYPRESS CREEK ROAD. Recorded Sep 17, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031287/0874 →
MERGER Recorded Jun 13, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 030609/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2012
From: OIKONOMOU, GEORGIOS
To: BYTEMOBILE, INC.
Reel/Frame 028462/0792 →