A data server comprising: a policy request handler configured to be activated within the data server in response to a server request being received at the data server, wherein the policy request handler is configured to receive a plurality of asynchronous data streams; merge data points in the plurality of asynchronous data streams together to form an array of time-ordered data points; and form policy-based data according to a server policy identified in the server request using the array of time-ordered data points, whereby the policy request handler processes time-ordered data points to form output data to be sent to a client; wherein the policy request handler comprises: a data merger configured to merge the data points in the plurality of asynchronous data streams together to form the array of time-ordered data points wherein the data points each comprise a data value and a time value and wherein the data merger is configured to form the array of time-ordered data points by adding data points to the array in increasing time order based on the time value for each data point; and a policy-based data manager configured to form the policy-based data as a set of policy-based data frames in which each policy-based data frame in the set of policy-based data frames is formed in response to an event occurring using the array of time-ordered data points. a policy request handler configured to be activated within the data server in response to a server request being received at the data server, wherein the policy request handler is configured to receive a plurality of asynchronous data streams; merge data points in the plurality of asynchronous data streams together to form an array of time-ordered data points; and form policy-based data according to a server policy identified in the server request using the array of time-ordered data points, whereby the policy request handler processes time-ordered data points to form output data to be sent to a client; wherein the policy request handler comprises: a data merger configured to merge the data points in the plurality of asynchronous data streams together to form the array of time-ordered data points wherein the data points each comprise a data value and a time value and wherein the data merger is configured to form the array of time-ordered data points by adding data points to the array in increasing time order based on the time value for each data point; and a policy-based data manager configured to form the policy-based data as a set of policy-based data frames in which each policy-based data frame in the set of policy-based data frames is formed in response to an event occurring using the array of time-ordered data points. a data merger configured to merge the data points in the plurality of asynchronous data streams together to form the array of time-ordered data points wherein the data points each comprise a data value and a time value and wherein the data merger is configured to form the array of time-ordered data points by adding data points to the array in increasing time order based on the time value for each data point; and a policy-based data manager configured to form the policy-based data as a set of policy-based data frames in which each policy-based data frame in the set of policy-based data frames is formed in response to an event occurring using the array of time-ordered data points.