Patent ID: 8705318

Claim:
A method for aggregating real-time data for a drilling operation, comprising: acquiring the real-time data from a plurality of data sources associated with the drilling operation; synchronizing a timing of the real-time data for aggregating the real-time data to generate synchronized aggregated data by: identifying times that the real-time data is created at each of the plurality of data sources; and synchronizing the real-time data by adjusting the times of the real-time data from each of the plurality of data sources to refer to a same clock at a server that receives the real-time data, wherein identifying the times that the real-time data is created at each of the plurality of data sources comprises: synchronizing a clock at each of the plurality of data sources with the clock at the server; determining a round-trip latency of the real-time data to be transmitted from a data source of the plurality of data sources to the server by passing a token between the data source and the server; and identifying the times that the real-time data is created based on a time of receipt of the real-time data at the server as adjusted by the round-trip latency; determining a drilling context based on the synchronized aggregated data by: computing separate probabilities of a plurality of states of a drilling rig from the synchronized aggregated data; combining the separate probabilities to provide a probability of the drilling rig being in one of the plurality of states; and using a largest probability among the plurality of states to give the drilling context to subsequent acquired data; analyzing the synchronized aggregated data in the drilling context to generate an analysis; presenting the analysis to a plurality of users at a plurality of different locations; and adjusting the drilling operation based on the analysis and inputs of each of the plurality of users.