IP Library Granted Patent US 9,749,233
Granted Patent B2
US 9,749,233 · App. 14/339,087 · Granted Aug 29, 2017

Techniques for smart data routing

Inventors: Yael Maguire (Boston, MA); Damian Kowalewski (Sunnyvale, CA); Giovanni Coglitore (Saratoga, CA); Aaron Samuel Bernstein (San Carlos, CA)
Assignee: FACEBOOK, INC.
H04L45/70H04L43/08H04L45/121H04L45/125H04W12/04
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,749,233
App. No.
14/339,087
Granted
Aug 29, 2017
Kind
B2
Abstract

Techniques for smart data routing are described. A system may include a storage module configured to store network conditions for a plurality of networks and locations and a server device. The server device may be configured to determine network conditions for each of a plurality of networks and locations based upon detected usage of at least one mobile application being accessed via each of the plurality of networks and in each of the locations. Determined network conditions may be stored at the storage module. The server may be further configured to receive a request for a communication from a client device. Based upon at least the determined network conditions, the server may be configured to determine routing information for the communication. Once determined, the server may be configured to provide the routing information for the communication to the client device.

Claims (44)

1. A system, comprising:

a non-transitory storage medium configured to store network conditions for a plurality of networks and locations; and

a server device configured to:

receive information regarding network conditions or a user device location from instances of one or more mobile applications operating in each of the plurality of networks and in each of the locations;

determine network conditions for each of a plurality of networks and locations based upon detected usage of each of the mobile application instances operating in each of the plurality of networks;

store the determined network conditions at the storage module;

receive a request for a communication from a client device distinct from the server device and located remotely from the server device;

in response to receiving the request for the communication, determine routing information for the communication based upon at least the determined network conditions; and

provide the routing information for the communication to the client device.

2. The system of claim 1 , wherein network conditions include one or more of error rates, bandwidth, throughput, transmission delay, availability, or jitter.

3. The system of claim 1 , wherein determining the routing information is further based upon a detected location of a client device and one or more subscriber identify modules (SIMs) associated with the client device.

4. The system of claim 3 , wherein determining the routing information is further based upon cost information associated with the one or more SIMs and the requested communication.

5. The system of claim 4 , wherein determining the routing information is further based upon recipient information associated with the communication.

6. The system of claim 1 , wherein the server device is further configured to configure content to be provided to the client device based upon the determined network conditions.

7. The system of claim 6 , wherein the content includes one or more of advertising content, media content, social network content, messaging content, or gaming content.

8. The system of claim 1 , wherein the server device comprises a network conditions module and determining the network conditions comprises:

transmitting a request from the network conditions module of the server to an apps module of the client device, and

receiving, in response to the request, a response from the apps module, the response comprising information associated with at least one of quality of services parameters, error rates, bandwidth, throughput, transmission delay, availability, or jitter.

9. A computer-implemented method, comprising:

receiving information regarding network conditions or a user device location from instances of one or more mobile applications operating in each of the plurality of networks and in each of the locations;

determining network conditions for each of a plurality of networks and locations based upon detected usage of each of the mobile application instances operating in each of the plurality of networks;

storing the determined network conditions at the storage module;

receiving, at a server device, a request for a communication from a client device distinct from the server device and located remotely from the server device;

in response to receiving the request for the communication, determining routing information for the communication based upon at least the determined network conditions; and

providing the routing information for the communication from the server device to the client device.

10. The computer-implemented method of claim 9 , wherein network conditions include one or more of error rates, bandwidth, throughput, transmission delay, availability, or jitter.

11. The computer-implemented method of claim 9 , wherein determining the routing information is further based upon a detected location of a client device and one or more subscriber identify modules (SIMs) associated with the client device.

12. The computer-implemented method of claim 11 , wherein determining the routing information is further based upon cost information associated with the one or more SIMs and the requested communication.

13. The computer-implemented method of claim 12 , wherein determining the routing information is further based upon recipient information associated with the communication.

14. The computer-implemented method of claim 9 , further comprising configuring content to be provided to the client device based upon the determined network conditions.

15. The computer-implemented method of claim 14 , wherein the content includes one or more of advertising content, media content, social network content, messaging content, or gaming content.

16. An article comprising a non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause a system to:

receive information regarding network conditions or a user device location from instances of one or more mobile applications operating in each of the plurality of networks and in each of the locations;

determine network conditions for each of a plurality of networks and locations based upon detected usage of each of the mobile application instances operating in each of the plurality of networks;

store the determined network conditions at the storage module;

receive, at a server device, a request for a communication from a client device distinct from the server device and located remotely from the server device;

in response to receiving the request for the communication, determine routing information for the communication based upon at least the determined network conditions; and

provide the routing information for the communication from the server device to the client device.

17. The article of claim 16 , wherein network conditions include one or more of error rates, bandwidth, throughput, transmission delay, availability, or jitter.

18. The article of claim 16 , wherein determining the routing information is further based upon a detected location of a client device and one or more subscriber identify modules (SIMs) associated with the client device.

19. The article of claim 18 , wherein determining the routing information is further based upon cost information associated with the one or more SIMs and the requested communication.

20. The article of claim 19 , wherein determining the routing information is further based upon recipient information associated with the communication.

21. The article of claim 16 , further including instructions that, when executed by the processor, cause a system to configure content to be provided to the client device based upon the determined network conditions.

22. The article of claim 21 , wherein the content includes one or more of advertising content, media content, social network content, messaging content, or gaming content.

Assignments (2)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059858/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2015
From: MAGUIRE, YAEL; KOWALEWSKI, DAMIAN; COGLITORE, GIOVANNI; BERNSTEIN, AARON SAMUEL
To: FACEBOOK INC.
Reel/Frame 036374/0652 →
Continuity (3)
Continuation In Part 14286873 · May 23, 2014
Provisional Application 61877644 · Sep 13, 2013
Related Publication 20150081884A1 · Mar 19, 2015