A method of managing events in a network that adopts event-driven programming framework, the network comprising: a plurality of physically distributed hosts (h1, h2, h3, h4), each of which is configured to process at least one event in the network, at least a first entity, configured to maintain a first queue comprising a first plurality of events to be processed by at least one host belonging to a first group of host(s), and at least a second entity, configured to maintain a second queue comprising a second plurality of events to be processed by at least one host belonging to a second group of host(s), wherein, the first group of host(s) comprises the second group of host(s), and the hosts are categorized into groups according to their geographical location or logical criteria, wherein, the first queue is a higher level queue comparing to the second queue, and wherein an event is retrieved from a higher level queue to a lower level queue, until the event is retrieved to a host and processed on the host; the method comprising steps of: a) determining a first event in the first queue as an event that is to be processed; b) determining whether the first event satisfies a first condition, the first condition indicating that the first event can be processed by at least a first host belonging to the second group of host(s); b1) if so, retrieving the first event from the first queue to the second queue, c) processing the first event on the first host, d) receiving a report of a second event that is newly generated by processing the first event on the first host; e) determining whether the second event satisfies a second condition, the second condition indicating that the second event can be processed by at least a second host belonging to the second group of host(s), e1) placing the second event to the second queue and then processing the second event at the second host, if the second event satisfies the second condition; e2) reporting the second event to the first entity maintaining the first queue, if the second event does not satisfy the second condition. a plurality of physically distributed hosts (h1, h2, h3, h4), each of which is configured to process at least one event in the network, at least a first entity, configured to maintain a first queue comprising a first plurality of events to be processed by at least one host belonging to a first group of host(s), and at least a second entity, configured to maintain a second queue comprising a second plurality of events to be processed by at least one host belonging to a second group of host(s), wherein, the first group of host(s) comprises the second group of host(s), and the hosts are categorized into groups according to their geographical location or logical criteria, wherein, the first queue is a higher level queue comparing to the second queue, and wherein an event is retrieved from a higher level queue to a lower level queue, until the event is retrieved to a host and processed on the host; the method comprising steps of: a) determining a first event in the first queue as an event that is to be processed; b) determining whether the first event satisfies a first condition, the first condition indicating that the first event can be processed by at least a first host belonging to the second group of host(s); b1) if so, retrieving the first event from the first queue to the second queue, c) processing the first event on the first host, d) receiving a report of a second event that is newly generated by processing the first event on the first host; e) determining whether the second event satisfies a second condition, the second condition indicating that the second event can be processed by at least a second host belonging to the second group of host(s), e1) placing the second event to the second queue and then processing the second event at the second host, if the second event satisfies the second condition; e2) reporting the second event to the first entity maintaining the first queue, if the second event does not satisfy the second condition. a) determining a first event in the first queue as an event that is to be processed; b) determining whether the first event satisfies a first condition, the first condition indicating that the first event can be processed by at least a first host belonging to the second group of host(s); b1) if so, retrieving the first event from the first queue to the second queue, c) processing the first event on the first host, d) receiving a report of a second event that is newly generated by processing the first event on the first host; e) determining whether the second event satisfies a second condition, the second condition indicating that the second event can be processed by at least a second host belonging to the second group of host(s), e1) placing the second event to the second queue and then processing the second event at the second host, if the second event satisfies the second condition; e2) reporting the second event to the first entity maintaining the first queue, if the second event does not satisfy the second condition.