Communications network topology for minimizing latency in a many-to-one environment
The disclosure herein provides a pyramid topology for a communications network in which an authoritative server sits at the top of the pyramid. This is the “principal” server. The principal server connects to a sub-layer of “subordinate” servers (i.e., slave servers). The principal server gathers data from the subordinate servers at a predetermined interval based on the maximum number of connections that can be serviced within the desired timeframe. An additional layer of lower-level subordinate servers can be added under each of the higher-level subordinate servers to increase the network capacity. Additional levels of subordinate servers can be added to further increase the network capacity such that a single network may include a principal server and many cascading levels of subordinate servers to form the pyramid structure.
1 . A method of minimizing latency in a communication network in which a plurality of user devices including a first plurality of user devices and a second plurality of user devices update a first data field, the method comprising the steps of:
providing a principal server including a principal stored value of the first data field;
providing a first sub-layer of subordinate servers in communication with the principal server, wherein each subordinate server in the first sub-layer includes a first sub-layer stored value of the first data field, wherein the first sub-layer of subordinate servers includes at least N-number of servers;
providing an N-number of groups of second sub-layer of subordinate servers in communication with the first sub-layer of subordinate servers, wherein each subordinate server in the second sub-layer includes a second sub-layer stored value of the first data field, wherein each group of the second sub-layer of subordinate servers includes at least N-number of servers in communication with a respective one of the subordinate servers in the first sub-layer of subordinate servers;
in each of the subordinate servers in the second sub-layer, receiving a first end user input value of the first data field from one or more of the first plurality of user devices;
in each of the subordinate servers in the first sub-layer, receiving a first second sub-layer input value of the first data field from each of the subordinate servers in the respective group of second sub-layer servers, wherein each subordinate server in the second sub-layer resets the respective first data field to a default value after the respective subordinate server in the first sub-layer receives the first second sub-layer input value of the first data field;
in the principal server, receiving a first first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, wherein each subordinate server in the first sub-layer resets the respective first data field to a default value after the respective subordinate server in the principal server receives the first first sub-layer input value of the first data field;
in the principal server, updating the principal stored value of the first data field to equal an aggregated value of the first first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, which is equal to an aggregated value of the end user input value of the first data field from each of the first plurality of user devices;
in each of the subordinate servers in the second sub-layer, receiving a second end user input value of the first data field from one or more of the second plurality of user devices;
in each of the subordinate servers in the first sub-layer, receiving a second second sub-layer input value of the first data field from each of the subordinate servers in the respective group of second sub-layer servers, wherein each subordinate server in the second sub-layer resets the respective first data field to a default value after the respective subordinate server in the first sub-layer receives the second second sub-layer input value of the first data field;
in the principal server, receiving a second first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, wherein each subordinate server in the first sub-layer resets the respective first data field to a default value after the respective subordinate server in the principal server receives the second first sub-layer input value of the first data field; and
in the principal server, updating the principal stored value of the first data field to equal an aggregated value of the first first sub-layer input value and the second first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, which is equal to an aggregated value of the end user input value of the first data field from each of the first plurality of user devices and the second plurality of user devices.
2 . The method of claim 1 , wherein the principal stored value of the first data field is a sentiment value.
3 . The method claim 2 , wherein the sentiment value relates to a first participant in a live sporting event.
4 . The method of claim 3 , wherein the first participant is one of an individual or a team.
5 . The method of claim 3 , wherein the aggregated value of the end user input value of the first data field from each of the plurality of user devices triggers one of a visual effect or an audible effect at the live sporting event.
6 . The method of claim 5 , wherein the audible effect is simulated cheering at the live sporting event.
7 . The method of claim 3 , wherein the principal server further includes a principal stored value of a second data field.
8 . The method of claim 7 , wherein the principal stored value of the second data field is a sentiment value.
9 . The method claim 8 , wherein the sentiment value relates to a second participant in a live sporting event.
10 . The method of claim 1 , wherein each of the subordinate servers in the first sub-layer server collects and aggregates the second sub-layer input value of the first data field from each of the subordinate servers in the respective group of second sub-layer servers into a single update value.
11 . A communication network comprising:
a principal server including a principal stored value of a first data field;
a first sub-layer of subordinate servers in communication with the principal server, wherein each subordinate server in the first sub-layer includes a first sub-layer stored value of the first data field, wherein the first sub-layer of subordinate servers includes at least N-number of servers; and
an N-number of groups of second sub-layer of subordinate servers in communication with the first sub-layer of subordinate servers, wherein each subordinate server in the second sub-layer includes a second sub-layer stored value of the first data field, wherein each group of the second sub-layer of subordinate servers includes at least N-number of servers in communication with a respective one of the subordinate servers in the first sub-layer of subordinate servers;
wherein each of the subordinate servers in the second sub-layer receives a first end user input value of the first data field from one or more of a first plurality of user devices;
wherein each of the subordinate servers in the first sub-layer receives a first second sub-layer input value of the first data field from each of the subordinate servers in the respective group of second sub-layer servers, wherein each subordinate server in the second sub-layer resets the respective first data field to a default value after the respective subordinate server in the first sub-layer receives the first second sub-layer input value of the first data field;
wherein the principal server receives a first first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, wherein each subordinate server in the first sub-layer resets the respective first data field to a default value after the respective subordinate server in the principal server receives the first first sub-layer input value of the first data field,
wherein the principal server updates the principal stored value of the first data field to equal an aggregated value of the first first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, which is equal to an aggregated value of the end user input value of the first data field from each of the first plurality of user devices;
wherein, after each subordinate server in the second sub-laver resets the respective first data field to a default value and each subordinate server in the first sub-layer resets the respective first data field to a default value, each of the subordinate servers in the second sub-layer receives a second end user input value of the first data field from one or more of a second plurality of user devices;
wherein each of the subordinate servers in the first sub-layer receives a second second sub-layer input value of the first data field from each of the subordinate servers in the respective group of second sub-laver servers, wherein each subordinate server in the second sub-laver resets the respective first data field to a default value after the respective subordinate server in the first sub-laver receives the second second sub-layer input value of the first data field;
wherein the principal server receives a second first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, wherein each subordinate server in the first sub-layer resets the respective first data field to a default value after the respective subordinate server in the principal server receives the second first sub-layer input value of the first data field, and
wherein the principal server updates the principal stored value of the first data field to equal an aggregated value of the first first sub-layer input value and the second first sub-layer input value of the first data field from each of the subordinate servers in the first sub-layer, which is equal to an aggregated value of the end user input value of the first data field from each of the first plurality of user devices and the second plurality of user devices.
12 . The communication network of claim 11 , wherein the principal stored value of the first data field is a sentiment value.
13 . The communication network of claim 12 , wherein the sentiment value relates to a first participant in a live sporting event.
14 . The communication network of claim 13 , wherein the first participant is one of an individual or a team.
15 . The communication network of claim 13 , wherein the aggregated value of the end user input value of the first data field from each of the plurality of user devices triggers one of a visual effect or an audible effect at the live sporting event.
16 . The communication network of claim 15 , wherein the audible effect is simulated cheering at the live sporting event.
17 . The communication network of claim 13 , wherein the principal server further includes a principal stored value of a second data field.
18 . The communication network of claim 17 , wherein the principal stored value of the second data field is a sentiment value.
19 . The communication network claim 18 , wherein the sentiment value relates to a second participant in a live sporting event.
20 . The communication network of claim 11 , wherein each of the subordinate servers in the first sub-layer server collects and aggregates the second sub-layer input value of the first data field from each of the subordinate servers in the respective group of second sub-layer servers into a single update value.