×

System for dynamically varying traffic routing modes in a distributed cluster and method therefor

  • US 10,116,736 B2
  • Filed: 09/22/2015
  • Issued: 10/30/2018
  • Est. Priority Date: 09/22/2015
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a load balancer;

    a database partitioned into at least a first shard of the database and a second shard of the database, the first shard of the database and the second shard of the database having been split from a partition of the database, and the partition of the database having been split from the database;

    a first plurality of database servers coupled to the load balancer, each database server in the first plurality of database servers hosting a copy of the first shard of the database; and

    a second plurality of database servers coupled to the load balancer, each database server in the second plurality of database servers hosting a copy of the second shard of the database; and

    a centralized data store configured to maintain a list of (1) each database server in the first plurality of database servers and (2) each database server in the second plurality of database servers;

    wherein;

    the load balancer is configured to;

    send incoming instructions to a database server selected from the first plurality of database servers or the second plurality of database servers, using load balancing techniques;

    receive a first incoming instruction from a user, wherein the first incoming instruction comprises first queries of the first shard and second queries of the second shard;

    process the first incoming instruction to extract the first queries of the first shard and the second queries of the second shard from the first incoming instruction;

    forward the first queries of the first shard to the first plurality of database servers;

    forward the second queries of the second shard to the second plurality of database servers;

    receive a first query result from one database server of the first plurality of database servers;

    receive a second query result from one database server of the second plurality of database servers;

    aggregate the first query result and the second query result into an aggregated query result; and

    present the aggregated query result to a requestor;

    each database server in the first plurality of database servers is configured to send the first queries of the first shard of the database to a database server in the first plurality of database servers such that consecutive queries of the first queries of the first shard of the database are sent to different database servers of the first plurality of database servers; and

    each database server in the second plurality of database servers is configured to send the second queries of the second shard of the database to a database server in the second plurality of database servers such that consecutive queries of the second queries of the second shard of the database are sent to different database servers of the second plurality of database servers.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×