发明名称 Auto load transfer in geographically distributed systems
摘要 In an approach, load balancing is performed in a distributed system of nodes representing computational resources such as clients, servers, server clusters, virtual machines, and so forth. Each node within the distributed system is responsible for processing requests associated with one or more districts in a geographical area. In order to perform load balancing each node is programmed or configured to autonomously perform a set of actions on a periodic basis which includes checking neighbors for updates, determining whether to spawning a new node, determining whether to terminate, and balancing load with neighbors. As a result, the number of nodes and the districts for which each node is responsible dynamically changes over time to minimize the load placed on each node and to constrain the number of nodes that need to be active within the distributed system to reduce resource costs.
申请公布号 US9509617(B1) 申请公布日期 2016.11.29
申请号 US201615019860 申请日期 2016.02.09
申请人 GrubHub Holdings Inc. 发明人 Malmgren Clark;Maloney Matthew
分类号 G06F15/16;H04L12/803;H04L29/08;H04L12/26;H04L12/721 主分类号 G06F15/16
代理机构 Hickman Palermo Becker Bingham LLP 代理人 Hickman Palermo Becker Bingham LLP
主权项 1. A computer system comprising: one or more nodes, wherein each node of the one or more nodes is a computational resource and is programmed to store district data identifying one or more districts of a geographical region for which the node is responsible for processing requests; one or more non-transitory computer readable storage media that are communicatively coupled to the one or more nodes and store one or more sequences of program instructions which, when executed by a particular node of the one or more nodes, causes the particular node to perform: receiving one or more requests associated with the one or more districts for which the particular node is responsible and processing the one or more requests; periodically updating the district data to reflect one or more respective districts for which each of one or more neighboring nodes of the particular node is responsible; periodically determining whether current load of the particular node has dropped below a lower bound value and in response to determining that the current load has dropped below the lower bound value initiating a termination action; periodically determining whether the current load has risen above an upper bound value and in response to determining that the current load has risen above the upper bound value initiating a spawning action; periodically balancing load with the one or more neighboring nodes by exchanging a set of districts with the one or more neighboring nodes.
地址 Chicago IL US