Patent ID: 7984127

Claim:
A data distribution system comprising: a producer layer comprising a number of producer nodes, each having an associated processor; and a data matrix layer comprising a plurality of data matrix nodes, each having an associated processor and data storage, wherein each data matrix node receives data sets from the producer layer and stores the data sets in the data storage of the data matrix node, wherein a given one of the producer nodes sends respectively to each data matrix node of a subset of the plurality of data matrix nodes a bind message that instructs the data matrix node to listen to a particular multicast address and that gives the data matrix node an identifier of a data set that the data matrix node should maintain, wherein the bind message to a first data matrix node instructs the first data matrix node to listen to the particular multicast address and gives the first data matrix node an identifier of a first data set that the first data matrix node should maintain, and wherein the bind message to a second data matrix node instructs the second data matrix node to listen to the particular multicast address and gives the second data matrix node an identifier of a second data set that the second data matrix node should maintain, wherein the first data set differs from the second data set, wherein after sending the bind messages, the given producer node transmits an update message to the particular multicast address for receipt by the data matrix nodes of subset, wherein the update message carries a plurality of data sets and specifies, respectively for each data set of the plurality of data sets, an identifier of the data set with or without also identifying one or more recipient data matrix nodes for the data set, and wherein each data matrix node of the subset receives the update message transmitted to the multicast address and, for at least one data set in the update message, (i) makes a determination of whether the identifier that the update message specifies for the data set matches an identifier provided to the data matrix node by a bind message as an indication that the data matrix node should maintain the data set, and (ii) takes and stores the data set if the determination is that the identifier that the update message specifies for the data set matches an identifier provided to the data matrix node by a bind message as an indication that the data matrix node should maintain the data set.