LOAD-BALANCING INBOUND REAL-TIME DATA UPDATES FOR A SOCIAL NETWORKING SYSTEM
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving, by a load-balancing computer system, a location-based record update associated with a user account;
writing, by the load-balancing computer system, the location-based record update separately to at least two different databases;
forwarding, by the load-balancing computer system, the location-based record update to an analytic engine of a web service computer system;
receiving, by the load-balancing computer system, a first derivative dataset computed based on the location-based record from the analytic engine; and
writing, by the load-balancing computer system, the first derivative dataset separately to the databases, wherein the databases includes a primary cell database designated to respond to a client request for the location-based record or the first derivative dataset and a backup cell database designated to switch designated roles with the primary cell database when the primary cell database is determined to be failing.
2 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments include a method of operating a load-balancing engine for a social networking system receiving real-time updates from mobile devices. The method can include receiving a location-based record update associated with a user account; writing the location-based record update separately to at least two different databases; forwarding the location-based record update to an analytic engine of a web service computer system; receiving a first derivative dataset computed based on the location-based record from the analytic engine; and writing the first derivative dataset separately to the at least two different databases.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a load-balancing computer system, a location-based record update associated with a user account; writing, by the load-balancing computer system, the location-based record update separately to at least two different databases; forwarding, by the load-balancing computer system, the location-based record update to an analytic engine of a web service computer system; receiving, by the load-balancing computer system, a first derivative dataset computed based on the location-based record from the analytic engine; and writing, by the load-balancing computer system, the first derivative dataset separately to the databases, wherein the databases includes a primary cell database designated to respond to a client request for the location-based record or the first derivative dataset and a backup cell database designated to switch designated roles with the primary cell database when the primary cell database is determined to be failing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer readable memory storing instructions, comprising:
-
instructions for maintaining, by a load-balancing computer system, at least two distributed databases, wherein at least a first distributed database is designated as a production cell and at least a second distributed database is designated as a backup cell; instructions for, in response to receiving a write request at the load-balancing computer system, writing, by the load-balancing computer system, separately to both the first distributed database and the second distributed database; instructions for, in response to receiving the write request at the load-balancing computer system, maintaining, by the load-balancing computer system, a first error count of the first distributed database and a second error count of the second distributed database; and instructions for, in response to the first error count exceeding the second error count by a threshold amount, switching designations of the first distributed database to the backup cell and the second distribute database to the production cell. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A social networking system comprising:
-
a first database that is a distributed database, the first database configured to store location-based records of user accounts in the social networking system, wherein, in an event that the first database is designated as a production cell, the first database is configured to respond to data requests for the location-based records; a second database that is a distributed database, the second database configured to store location-based records of user accounts in the social networking system, wherein, in an event that the second database is designated as a backup cell, the second database is configured to respond to data requests for the location-based records; a load-balancing computer system configured to receive a raw location update or a location-based context update associated with a user account and to double write the raw location update or the location-based context update to the first database and the second database; wherein the load-balancing computer system is configured to switch designations of the production cell and the backup cell between the first database and the second database depending on error counts corresponding to the first database and the second database; and a web service computer system configured to receive the raw location update from the load-balancing computer system in response to the load-balancing computer system receiving the raw location update and to compute the location-based context update based on the raw location update, wherein the web service computer system is configured to store at least a portion of the location-based context update to both the first database and the second database via the load-balancing computer as a proxy. - View Dependent Claims (19, 20)
-
Specification