Patent ID: 9660930
Date: 2017-05-23
CPC Classifications: G06F,H04L

Claim:
1. A system comprising: one or more computer-readable storage devices storing a data repository, the data repository comprising a plurality of different data collections; one or more computing devices comprising at least one or more memories and one or more processors; data server nodes, implemented at least partially by the one or more processors, configured to perform data operations on data collections, each particular data server node assigned to one or more data collections among the plurality of different data collections and configured to process messages by performing particular data operations on the one or more data collections to which the particular data server node is assigned; wherein each data collection among the plurality of different data collections is associated with a particular configuration data that describes various aspects of the data collection and impacts how a data server node processes the data collection and includes at least: an identification of the data collection, and data processing instructions to be used for parsing one or more fields in the data collection; a message distribution component, implemented at least partially by the one or more processors, configured to receive particular messages, determine particular data collections of the plurality of different data collections that each particular message is associated with, and distribute the particular messages to particular data server nodes that are assigned to the associated particular data collections; a node creation component, implemented at least partially by the one or more processors, configured to, when a message of the particular messages is associated with one or more particular data collections to which none of the existing data server nodes are assigned, retrieve a configuration data associated with the one or more particular data collections and dynamically create a new data server node based on the retrieved configuration data associated with the one or more particular data collections, assign the new data server node to the one or more particular data collections, and send the message to the new data server node; a node monitoring component configured to cause certain data server nodes to terminate, wherein the node monitoring component is configured to determine whether a particular data server node should be terminated based on one or more expected usage patterns for one or more data collections associated with the particular data server node, the one or more expected usage patterns are dynamically determined based on monitoring a frequency of usage for each of the one or more data collections associated with the particular data server node.