Example embodiments provide various techniques for distributing connections within a connectional parallelism architecture. In one embodiment, a method is provided where resource utilizations of connection groups are measured. Here, each connection group is assigned to one of multiple processors. A probability distribution is accessed that maps probabilities assigned to relative resource utilizations. A relative resource utilization of one of the connection groups is determined based on a resource utilization of the one connection group relative to other resource utilizations of other connection groups. A probability from the probability distribution is identified based on the determined relative resource utilization, and based on the identified probability, a connection is assigned to this connection group for execution by one of the processors assigned to this connection group.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of distributing connections within a connectional parallelism architecture, the method comprising: accessing a record of previous connection group assignments for multiple connection groups; selecting one of the connection groups for a connection based on the record; determining a current relative resource utilization of the selected connection group as compared to other resource utilizations of other connection groups; identifying a probability from a probability distribution based on the determined current relative resource utilization; and based on the identified probability, assigning the connection to the selected connection group for execution by a processor assigned to the selected connection group; and wherein the probability from the probability distribution decreases as the determined current relative resource utilization increases.
2. The method of claim 1 , wherein selecting one of the connection groups for the connection includes a group preference for the connection, the group preference defining a connection group preferred by the connection over other connection groups.
3. The method of claim 2 , wherein the group preference is predefined.
4. The method of claim 2 , wherein the group preference is defined based on a type of Transmission Control Protocol (TCP) connection.
5. The method of claim 1 , wherein each connection group is identified by a group identifier, and wherein the assignment of the connection comprises assigning the connection to a group identifier that identifies the selected connection group.
6. The method of claim 1 , wherein the probability distribution is predefined, and wherein the probability distribution corresponds to a step function-based distribution in which probabilities decrease as relative resource utilizations increase.
7. The method of claim 1 , wherein the resource utilizations of the multiple connection groups are determined by measuring a number of connections to each of the multiple connection groups.
8. The method of claim 7 , wherein the current relative resource utilization is determined based on a ratio of a number of connections owned by the selected connection group to a total number of connections.
9. The method of claim 1 , wherein the resource utilizations of the multiple connection groups are determined by measuring data rates serviced by the multiple connection groups.
10. The method of claim 9 , wherein the current relative resource utilization is determined based on a ratio of a data rate serviced by the selected connection group to a total data rate serviced by the connection groups.
11. A system comprising: a plurality of processors including at least a first processor and a second processor; and a memory in communication with the first and second processors, the memory being configured to store a connection distribution module having instructions that when executed, cause operations to be performed, the operations comprising: accessing a record of previous connection group assignments for multiple connection groups; selecting one of the connection groups for a connection based on the record; determining a current relative resource utilization of the selected connection group as compared to other resource utilizations of other connection groups; identifying a probability from a probability distribution based on the determined current relative resource utilization; and based on the identified probability, assigning the connection to the selected connection group for execution by a processor assigned to the selected connection group; and wherein the probability from the probability distribution decreases as the determined current relative resource utilization increases.
12. The system of claim 11 , wherein selecting one of the connection groups for the connection includes a group preference for the connection, the group preference defining a connection group preferred by the connection over other connection groups.
13. The system of claim 12 , wherein the group preference is predefined.
14. The system of claim 12 , wherein the group preference is defined based on a type of Transmission Control Protocol (TCP) connection.
15. The system of claim 11 , wherein each connection group is identified by a group identifier, and wherein the assignment of the connection comprises assigning the connection to a group identifier that identifies the selected connection group.
16. The system of claim 11 , wherein the probability distribution is predefined, and wherein the probability distribution corresponds to a step function-based distribution in which probabilities decrease as relative resource utilizations increase.
17. The system of claim 11 , wherein the resource utilizations of the multiple connection groups are determined by measuring a number of connections to each of the multiple connection groups.
18. A non-transitory, machine-readable medium storing instructions that, when performed by a machine, cause the machine to perform operations comprising: accessing a record of previous connection group assignments for multiple connection groups; selecting one of the connection groups for a connection based on the record; determining a current relative resource utilization of the selected connection group as compared to other resource utilizations of other connection groups; identifying a probability from a probability distribution based on the determined current relative resource utilization; and based on the identified probability, assigning the connection to the selected connection group for execution by a processor assigned to the selected connection group; and wherein the probability from the probability distribution decreases as the determined current relative resource utilization increases.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 2, 2014
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.