Patent ID: 7877484

Claim:
A method in a computer for bulk processing of semi-structured results streams from a plurality of different resources, comprising: sequentially polling a plurality of incoming connections for existence of data, each incoming connection associated with one of a plurality of different resources, wherein no incoming connection has priority over another incoming connection; using a single thread to inquire if data is available on any of the plurality of incoming connections, wherein the single thread maintains a parse state for each one of the plurality of different resources that are queried; receiving data on at least two of the plurality of incoming connections; processing at least some of the data available on one incoming connection of the at least two incoming connections by parsing data on the one incoming connection using a pushdown deterministic automata and a finite state model that allow continual processing of semi-structured results streams from a plurality of different resources using the single thread and by parsing data on another incoming connection of the at least two incoming connections if not enough data exists to continue the parsing on the one incoming connection; and iteratively processing data on other ones of the at least two incoming connections when polling reveals data exists on the other ones of the at least two incoming connections, until all incoming connections have responded and results from all incoming connections are fully parsed, wherein the single thread invokes a dispatch loop procedure for the at least two incoming connections on which the data is found to exist, and wherein the single thread further executes the dispatch loop procedure on the data in an interleaved fashion, for bulk processing the semi-structured results streams from a plurality of different resources.