1460945691-b708a512-ac72-42c5-ad80-0e6033ec2cee

1. A method of offering a service for storage and querying of real-time asset operational data, comprising:
providing a data pipe, comprising a connection through which data flows from a data generator to an ingester, the ingester configured to perform operations comprising:
receiving time stamped data from the data generator;
reading the received time stamped data;
creating a data block and an index associated with the time stamped data;
storing the index in an index database; and
storing the data block in a time series database in which the time series database stores the data blocks across a plurality of computing devices;

providing a query pipe, comprising a connection through which a query flows from a requestor to a query layer, the query layer configured to perform operations comprising:
receiving a query that specifies criteria defining a set of data retrieved from the service;
requesting from the index database the indices associated with the data blocks stored in the time series database that are needed to evaluate the query;
preparing a sub-query that produces appropriate data matching the criteria, the sub-query comprising the criteria and a logical operation performed on data matching the criteria; and
sending the sub-query to an evaluator running on each of the computing devices that corresponds to the data blocks identified in the requesting operation, above, the evaluator configured to perform operations comprising:
receiving the sub-query from the query layer;
evaluating the criteria specified in the sub-query with respect to the data blocks stored on the same computing devices as the evaluator in order to select a subset of data;
performing the logical operation specified in the sub-query on the subset of data to produce a sub-result; and
returning the sub-result to an output handler;

receive the sub-result from the evaluators specified in the sending operation, above;

providing a result pipe, comprising a connection through which a result flows from the output handler to the requestor, the output handler configured to perform operations comprising:
receiving the sub-results produced in response to each sub-query;
combining the sub-results into a query result; and
returning the result to the requestor.
2. The method of claim 1, wherein the index describes metadata associated the time stamped data.
3. The method of claim 2, wherein the metadata includes at least one of the following types of information: the asset generating the data in the data block; the sensor type associated with the data in the data block; an asset profile associated with the data in the data block; a time range covered by the data in the data block; a query associated with the data in the data block; an owner associated with the data in the data block; and a security setting associated with the data in the data block.
4. The method of claim 1, wherein the time series database comprises:
a plurality of data nodes, each consisting of one of the plurality of computing devices, on which specific data blocks are stored; and
a control node configured to choose which data node will store each data block and to record which data blocks are stored on each of the plurality of data nodes.
5. The method of claim 4, wherein the control node and each of the plurality of data nodes run on a separate one of the plurality of computing devices.
6. The method of claim 4, wherein an evaluator is running on each data node of the time series database.
7. The method of claim 4, wherein the control node is configured to assign storage of each data block to multiple data nodes.
8. The method of claim 1, wherein the output handler is further configured to forward the query result to the ingester for storage within the system.
9. The method of claim 1, wherein the output handler is further configured to forward the query results to an external system.
10. The method of claim 1, wherein the index database is running on one of the plurality of computing devices.
11. The method of claim 1, wherein the index database is running on the same one of the plurality of computing devices as the control node of the time series database.
12. The method of claim 1, wherein the query layer is running on one of the plurality of computing devices.
13. An appliance configured to perform the method of claim 1, the appliance comprising at least one processor and associated memory.
14. The appliance of claim 13, wherein the appliance is connected to the data source, the data source being a data generator comprising a plurality of sensors measuring operational parameters of a plurality of assets in real time.
15. The appliance of claim 13 wherein the appliance is connected to a plurality of data generators.
16. A method of offering a service for storage and querying of real-time asset operational data, comprising:
providing a data pipe, comprising a connection through which data flows from a data source to an ingester, the ingester configured to at least:
receive time stamped data from the data source;
read the received time stamped data;
create a data block and an index associated with the time stamped data;
store the index in an index database; and
store the data block in a time series database comprising a control node and a plurality of data nodes;

providing a query pipe, comprising a connection through which a query flows from a requestor to a query layer, the query layer configured to at least:
receive a query that specifies criteria defining a set of data retrieved from the service;
request from the index database the indices associated with the data blocks stored in the time series database that are needed to evaluate the query;
prepare a sub-query that produces appropriate data matching the criteria, the sub-query comprising the criteria and a logical operation performed on data matching the criteria;
send the sub-query to an evaluator running on each data node that corresponds to the data blocks identified in the request operation, above, each evaluator configured to at least:
receive the sub-query from the query layer;
evaluate the criteria specified in the sub-query with respect to the data blocks stored on the data node as the evaluator in order to select a subset of data;
perform the logical operation specified in the sub-query on the subset of data to produce a sub-result; and
return the sub-result to an output handler; and
providing a result pipe, comprising a connection through which a result flows from the output handler to the requestor, the output handler configured to at least:
receive the sub-results produced in response to each sub-query;
combine the sub-results into a query result; and
return the result to the requestor.
17. The method of claim 16, wherein the index describes a set of shared metadata associated with the data block and wherein the set of shared metadata includes at least one of the following types of information:
the asset generating the data in the data block;
the sensor type associated with the data in the data block;
an asset profile associated with the data in the data block;
a time range covered by the data in the data block;
a query associated with the data in the data block;
an owner associated with the data in the data block; and
a security setting associated with the data in the data block.
18. The method of claim 16, wherein the plurality of data nodes each consisting of one of a plurality of computing devices on which specific data blocks are stored and wherein the control node is configured to choose which data node will store each data block and to record which data blocks are stored on each of the plurality of data nodes.
19. The method of claim 18, wherein the control node is configured to assign storage of each data block to multiple data nodes.
20. The method of claim 16, wherein the query further comprises an analysis to be performed on data retrieved by the criteria and wherein the logical operation is related to the analysis.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. A thin-film resistor positioned on a dielectric layer of a semiconductor wafer, the thin-film resistor comprising:
a resistance layer positioned in a predetermined area of the dielectric layer;
a protective layer positioned on the resistance layer in the predetermined area and comprising two openings on two ends, respectively, of the resistance layer;
an insulating layer formed on the semiconductor wafer and covering the upper and side surfaces of the protective layer, the side surfaces of the resistance layer, and the surface of the dielectric layer outside the predetermined area, the insulating layer comprising two openings respectively above the two openings of the protective layer;
two plugs respectively positioned in the two openings of the insulating layer and the protective layer for electrically connecting to the two respective ends of the resistance layer; and
two conductive layers formed on the insulting layer and respectively positioned on the two plugs, the two conductive layers being used as two electrical wires for electrically connecting to the two respective ends of the resistance layer.
2. The thin-film resistor of claim 1 wherein the resistance layer is formed of CrSi (chromium silicon), the protective layer is formed of silicon nitride by using a chemical vapor deposition method, the insulating layer is formed of silicon oxide by using a chemical vapor deposition method, and the dielectric layer is formed of borophosphosilicate glass (BPSG).
3. The thin-film resistor of claim 2 further comprising an isolating layer positioned in the predetermined area and between the resistance layer and the dielectric layer, the isolating layer isolating out-gassing produced by the borophosphosilicate glass of the dielectric layer to prevent the out-gassing from affecting the resistance of the resistance layer.
4. The thin-film resistor of claim 3 wherein the isolating layer is formed of silicon nitride or silicon oxide.
5. The thin-film resistor of claim 1 wherein the plug is formed from a tungsten layer.
6. The thin-film resistor of claim 5 further comprising the following two layers between each plug and each opening of the insulating layer and the protective layer:
a titanium layer positioned on the surface of each opening of the insulating layer and protective layer which is used as an adhesive layer; and
a titanium nitride layer positioned on the surface of the titanium layer which is used as a stumbling layer;
wherein when forming the tungsten layer, the titanium nitride layer is used to isolate the tungsten layer and the titanium layer.
7. The thin-film resistor of claim 1 wherein the two conductive layers are formed of a metallic alloy based on aluminum (Al).