Methods, systems, and apparatus, including computer programs encoded on computer storage media, for routing events of an event stream. One of the methods includes operations of receiving, by a router, events of an event stream; providing each event, by the router, to a respective local modeler selected by the router according to an initial routing strategy, the respective local modeler being selected from multiple local modelers; aggregating, by each local modeler in parallel, information associated with each event received by the local modeler to generate aggregated information; providing, to a central modeler, the aggregated information generated by the one or more local modelers; determining, by the central modeler, parameters of a machine learning model using the aggregated information received by the central modeler and generating an updated routing strategy based on the parameters of the machine learning model; and providing the updated routing strategy to the router.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving, by a router executing on a system of one or more computers, events of an event stream; providing each event, by the router, to a respective local modeler selected by the router according to an initial routing strategy, the respective local modeler being selected from a plurality of local modelers executing on the system; processing, by each local modeler in parallel, according to a first plurality of operations, events received from the router, wherein the operations include aggregating information associated with each event to generate aggregated information; providing to a central modeler executing on the system, aggregated information generated by the one or more of the local modelers, the central modeler being one of a plurality of central modelers executing on the system; determining, by the central modeler, a plurality of parameters of a machine learning model using the aggregated information received by the central modeler; generating, by the central modeler, an updated routing strategy based on one or more of the parameters of the machine learning model; providing, by the central modeler, the updated routing strategy to the router; and then routing subsequent events of the event stream, by the router, according to the updated routing strategy. 2. The method of claim 1, further comprising: determining, by the central modeler, in the process of determining the plurality of parameters of the machine learning model, that respective local modelers should receive specific sub-populations of events of the event stream and aggregate information associated with the sub-population; generating, by the central modeler, the updated routing strategy to specify that events should be routed according to the sub-populations; receiving, by the central modeler, aggregated information from local modelers aggregating sub-populations of the event stream; and determining, by the central modeler, respective parameters of a machine learning model for each sub-population. 3. The method of claim 2, further comprising: determining, by the central modeler, sub-populations of the event stream by performing a clustering process. 4. The method of claim 3, wherein the clustering process is a k-means clustering process or a mixture model process that identifies clusters of events or mixtures of events each centered around one of a multiple of means. 5. The method of claim 2, further comprising: determining, by the central modeler, sub-populations of the event stream by obtaining information identifying two or more pre-defined configurations, wherein each configuration identifies a particular routing strategy; executing, by the central modeler, each particular routing strategy to identify a configuration of the pre-defined configurations that best determines clusters of events; and providing, by the central modeler, the particular routing strategy to the router as the updated routing strategy to route events. 6. The method of claim 1, wherein the updated routing strategy specifies that the router should route events by one or more data elements in a data tuple defining each event. 7. The method of claim 1, further comprising: after providing the updated routing strategy to the router, receiving, by the central modeler, aggregated information from one or more local modeler of the plurality of local modelers; determining, by the central modeler, first parameters associated with the machine learning model using aggregated information from a first subset of the plurality of local modelers; and determining, by the central modeler, second parameters associated with the machine learning model using aggregated information from a second different subset of the plurality of local modelers. 8. The method of claim 7, further comprising: providing, by the central modeler, the first parameters to the first subset of local modelers for storage; and providing, by the central modeler, the second parameters to the second subset of local modelers for storage. 9. The method of claim 1, further comprising: determining, by the central modeler, from the updated routing strategy, respective context data that should be stored in operational memory of each of the local modelers; and obtaining, by each of the local modelers, the respective context data for storage in operational memory of the local modeler. 10. The method of claim 9, further comprising: obtaining, by each of the local modelers, the respective context data from one or more other local modelers or from a storage system that has all the context data. 11. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: receiving, by a router executing on a system of one or more computers, events of an event stream; providing each event, by the router, to a respective local modeler selected by the router according to an initial routing strategy, the respective local modeler being selected from a plurality of local modelers executing on the system; processing, by each local modeler in parallel, according to a first plurality of operations, events received from the router, wherein the operations include aggregating information associated with each event to generate aggregated information; providing to a central modeler executing on the system, aggregated information generated by the one or more of the local modelers, the central modeler being one of a plurality of central modelers executing on the system; determining, by the central modeler, a plurality of parameters of a machine learning model using the aggregated information received by the central modeler; generating, by the central modeler, an updated routing strategy based on one or more of the parameters of the machine learning model; providing, by the central modeler, the updated routing strategy to the router; and then routing subsequent events of the event stream, by the router, according to the updated routing strategy. 12. The system of claim 11, wherein the operations further comprise: determining, by the central modeler, in the process of determining the plurality of parameters of the machine learning model, that respective local modelers should receive specific sub-populations of events of the event stream and aggregate information associated with the sub-population; generating, by the central modeler, the updated routing strategy to specify that events should be routed according to the sub-populations; receiving, by the central modeler, aggregated information from local modelers aggregating sub-populations of the event stream; and determining, by the central modeler, respective parameters of a machine learning model for each sub-population. 13. The system of claim 12, wherein the operations further comprise: determining, by the central modeler, sub-populations of the event stream by performing a clustering process. 14. The system of claim 13, wherein the clustering process is a k-means clustering process or a mixture model process that identifies clusters of events or mixtures of events each centered around one of a multiple of means. 15. The system of claim 12, wherein the operations further comprise: determining, by the central modeler, sub-populations of the event stream by obtaining information identifying two or more pre-defined configurations, wherein each configuration identifies a particular routing strategy; executing, by the central modeler, each particular routing strategy to identify a configuration of the pre-defined configurations that best determines clusters of events; and providing, by the central modeler, the particular routing strategy to the router as the updated routing strategy to route events. 16. The system of claim 11, wherein the updated routing strategy specifies that the router should route events by one or more data elements in a data tuple defining each event. 17. The system of claim 11, wherein the operations further comprise: after providing the updated routing strategy to the router, receiving, by the central modeler, aggregated information from one or more local modeler of the plurality of local modelers; determining, by the central modeler, first parameters associated with the machine learning model using aggregated information from a first subset of the plurality of local modelers; and determining, by the central modeler, second parameters associated with the machine learning model using aggregated information from a second different subset of the plurality of local modelers. 18. The system of claim 17, wherein the operations further comprise: providing, by the central modeler, the first parameters to the first subset of local modelers for storage; and providing, by the central modeler, the second parameters to the second subset of local modelers for storage. 19. The system of claim 11, wherein the operations further comprise: determining, by the central modeler, from the updated routing strategy, respective context data that should be stored in operational memory of each of the local modelers; and obtaining, by each of the local modelers, the respective context data for storage in operational memory of the local modeler. 20. The system of claim 19, wherein the operations further comprise: obtaining, by each of the local modelers, the respective context data from one or more other local modelers or from a storage system that has all the context data. 21. One or more computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising: receiving, by a router executing on a system of one or more computers, events of an event stream; providing each event, by the router, to a respective local modeler selected by the router according to an initial routing strategy, the respective local modeler being selected from a plurality of local modelers executing on the system; processing, by each local modeler in parallel, according to a first plurality of operations, events received from the router, wherein the operations include aggregating information associated with each event to generate aggregated information; providing to a central modeler executing on the system, aggregated information generated by the one or more of the local modelers, the central modeler being one of a plurality of central modelers executing on the system; determining, by the central modeler, a plurality of parameters of a machine learning model using the aggregated information received by the central modeler; generating, by the central modeler, an updated routing strategy based on one or more of the parameters of the machine learning model; providing, by the central modeler, the updated routing strategy to the router; and then routing subsequent events of the event stream, by the router, according to the updated routing strategy.