fc1641a2 by Mike Mathews

ILP-1009 Implemented initial XID specification for ILP Usage. Still need to test.

1 parent f7744db5
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
7 identity="HpeUsage.xid.xml">
8 <title>ILP Usage Messages</title>
9 <comment>This file defines the usage generated and ingested by various ILP Services.</comment>
10
11 <import ref="https://xid.location.studio/Tensor/V1.1/Definitions.xid.xml" local="Definitions.xid.xml" />
12 <import ref="https://xid.location.studio/GeoSpatial/V1.0/SpatialDefs.xid.xml" local="SpatialDefs.xid.xml" />
13 <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" />
14 <import ref="https://xid.location.studio/Tensor/V1.1/Logging.xid.xml" local="Logging.xid.xml" />
15
16 <namespace name="ILP">
17 <namespace name="Usage">
18 <using namespace="Tensor"/>
19 <using namespace="Logging"/>
20 <using namespace="GeoSpatial"/>
21
22 <!-- ReferenceType Enumeration -->
23 <enum name="ReferenceType" type="Tensor.int8" default="undefined">
24 <comment>
25 Specifies the RF radio reference type associated with the contributed or stored data.
26 </comment>
27 <literal name="undefined" value="0"/>
28 <literal name="gsm" value="1"/>
29 <literal name="cdma" value="2"/>
30 <literal name="wcdma" value="3"/>
31 <literal name="lte" value="4"/>
32 <literal name="nbiot" value="5"/>
33 <literal name="wifi" value="6"/>
34 <literal name="bluetooth" value="7"/>
35 </enum>
36
37 <!-- StorageAction Enumeration -->
38 <enum name="StorageAction" type="Tensor.int8" default="undefined">
39 <comment>
40 Specifies the storage action for the specified Reference.
41 </comment>
42 <literal name="undefined" value="0"/>
43 <literal name="added" value="1"/>
44 <literal name="updated" value="2"/>
45 <literal name="quarantined" value="3"/>
46 <literal name="archived" value="4"/>
47 </enum>
48
49 <!-- Reference Type -->
50 <enum name="ReferenceStatus" type="Tensor.int8" default="undefined">
51 <comment>
52 Specifies the staus of references
53 </comment>
54 <literal name="undefined" value="0"/>
55 <literal name="active" value="1"/>
56 <literal name="quarantined" value="3"/>
57 </enum>
58
59 <!-- ObservationMetric structure -->
60 <struct name="ObservationMetric" >
61 <comment>Metric data regarding contribution of obesrvations for a specified reference type within a specified area, time, and device.</comment>
62
63 <elem name="reftype" multiplicity="1" type="ReferenceType">
64 <comment>
65 RF Reference type specifier.
66 </comment>
67 </elem>
68
69 <elem name="obsType" multiplicity="0..1" type="ObservationType">
70 <comment>
71 Optional observation type specifier. The specific set of observations with the same ObservationType contributed.
72 </comment>
73 </elem>
74
75 <elem name="countTotal" multiplicity="1" type="uint32">
76 <comment>
77 Total count of observations submitted associated with this ObservationMetric.
78 </comment>
79 </elem>
80
81 <elem name="countWithState" multiplicity="1" type="uint32">
82 <comment>
83 Total count of observations submitted with observation state data.
84 </comment>
85 </elem>
86
87 <elem name="countFloorInfo" multiplicity="1" type="uint32">
88 <comment>
89 Total count of observations submitted with floor information.
90 </comment>
91 </elem>
92
93 <elem name="countHeight" multiplicity="1" type="uint32">
94 <comment>
95 Total count of observations submitted with height information. These are full 3-D position in the state specification version 2-D only (horizontal only).
96 </comment>
97 </elem>
98
99 <elem name="status" multiplicity="1" type="ReferenceStatus">
100 <comment>
101 Status of the references represented by this statistic.
102 </comment>
103 </elem>
104
105 <elem name="bounds" multiplicity="1" type="BoundingBox">
106 <comment>
107 Bounding box containing the area encompassing all the reference points captured in this statistic.
108 </comment>
109 </elem>
110
111 <elem name="posAvg" multiplicity="1" type="PositionECEF">
112 <comment>
113 The average (mean) center of the all the reference locations within the specified Bounding Box. Note that this is not necessarily the geometric center of the bounding box.
114 </comment>
115 </elem>
116 </struct>
117
118 <!-- StorageStatistic structure -->
119 <struct name="StatisticMetric" >
120 <comment>Storage metric data regarding references and areas.</comment>
121
122 <elem name="reftype" multiplicity="1" type="ReferenceType">
123 <comment>
124 RF Reference type specifier.
125 </comment>
126 </elem>
127
128 <elem name="count" multiplicity="1" type="uint32">
129 <comment>
130 Count of references that this statistic applies to within the specified bounding box.
131 </comment>
132 </elem>
133
134 <elem name="status" multiplicity="1" type="ReferenceStatus">
135 <comment>
136 Status of the references represented by this statistic.
137 </comment>
138 </elem>
139
140 <elem name="bounds" multiplicity="1" type="BoundingBox">
141 <comment>
142 Bounding box containing the area encompassing all the reference points captured in this statistic.
143 </comment>
144 </elem>
145
146 <elem name="posAvg" multiplicity="1" type="PositionECEF">
147 <comment>
148 The average (mean) center of the all the reference locations within the specified Bounding Box. Note that this is not necessarily the geometric center of the bounding box.
149 </comment>
150 </elem>
151
152 </struct>
153
154
155 <!-- UpdateMetric structure -->
156 <struct name="UpdateMetric" >
157 <comment>Storage update metrics for a specified reference type and action.</comment>
158
159 <elem name="reftype" multiplicity="1" type="ReferenceType">
160 <comment>
161 RF Reference type specifier.
162 </comment>
163 </elem>
164
165 <elem name="count" multiplicity="1" type="uint32">
166 <comment>
167 Count of references that this metric applies.
168 </comment>
169 </elem>
170
171 <elem name="action" multiplicity="1" type="UpdateMetric">
172 <comment>
173 Update action taken on the references represented by this UpdateMetric.
174 </comment>
175 </elem>
176 </struct>
177
178
179 <!--Contribution Msg-->
180 <struct name="Contribution" type="Logging.UsageMsg" rttkey='"tpf://ilp/contribution"'>
181 <comment>
182 Usage message captures ILP data contribution information.
183 </comment>
184
185 <elem name="contributorid" type="string" multiplicity="1">
186 <comment>
187 Source contributor identifier, this is typically defined as the source service provider of the data contribution.
188 Might be the name of a company, internal service, or external service name.
189 </comment>
190 </elem>
191
192 <elem name="tid" type="UUID" multiplicity="1">
193 <comment>
194 Transaction identifier that resulted in generating this contribution. This ID allows linkage of multiple contributions.
195 </comment>
196 </elem>
197
198 <elem name="tidSequence" type="uint32" multiplicity="0..1">
199 <comment>
200 Optional sequence specifier for contributions within a specific transaction (tid). These are provided typically when one
201 transaction results in multiple contributions. This allows preservation of order information.
202 </comment>
203 </elem>
204
205 <elem name="devid" type="string" multiplicity="1">
206 <comment>
207 Required device identifier, provides a means to associate multiple contributions with a signle device. This need not be a
208 specific type of device identifier. However, it is desirable to provide unique values so contributions
209 can be grouped by device.
210 </comment>
211 </elem>
212
213 <elem name="classDevice" type="string" multiplicity="0..1">
214 <comment>
215 Optional device classifier specification describes the type of device: e.g. smartphone, iot, automotive, etc.
216 </comment>
217 </elem>
218
219 <elem name="mfgDevice" type="string" multiplicity="0..1">
220 <comment>
221 Optional device manufacturer specification describes the organization that manufactured the device.
222 </comment>
223 </elem>
224
225 <elem name="modelDevice" type="string" multiplicity="0..1">
226 <comment>
227 Optional device model specification describes the model of the device.
228 </comment>
229 </elem>
230
231 <elem name="startDate" type="datetime" multiplicity="1">
232 <comment>
233 Start date the contributions were made. This is typically when the contributions were measured, or at very least, when they wereo submitted.
234 </comment>
235 </elem>
236
237 <elem name="endDate" type="datetime" multiplicity="1">
238 <comment>
239 End date the contributions were made. This is typically when the contributions were measured, or at very least, when they were submitted.
240 </comment>
241 </elem>
242
243 <elem name="bounds" multiplicity="1" type="BoundingBox">
244 <comment>
245 Bounding box containing the area encompassing all the reference points captured in this statistic.
246 </comment>
247 </elem>
248
249 <elem name="posAvg" multiplicity="1" type="PositionECEF">
250 <comment>
251 The average (mean) center of the all the reference locations within the specified Bounding Box. Note that this is not necessarily the geometric center of the bounding box.
252 </comment>
253 </elem>
254
255 <elem name="metrics" multiplicity="1..*" type="ObservationMetric">
256 <comment>
257 Required one or more ObservationMetric data. See ObservationMetric for more information.
258 </comment>
259 </elem>
260 </struct>
261
262 <!--StorageStats Report Msg-->
263 <struct name="StorageStats" type="Logging.UsageMsg" rttkey='"tpf://ilp/storagestats"'>
264 <comment>
265 Usage message captures ILP data storages statistics information.
266 </comment>
267
268 <elem name="storageid" type="string" multiplicity="1">
269 <comment>
270 Storage identifier that is providing the storages statistics, this is typically defined as the consumer service provider of the storage update.
271 Might be the name of a company, internal service, or external service name.
272 </comment>
273 </elem>
274
275 <elem name="tid" type="UUID" multiplicity="1">
276 <comment>
277 Transaction identifier for this set of storage statistics. This ID allows linkage of multiple storage statistics.
278 </comment>
279 </elem>
280
281 <elem name="tidSequence" type="uint32" multiplicity="0..1">
282 <comment>
283 Optional sequence specifier for storage statistics within a specific transaction (tid). These are provided typically when one
284 transaction results in multiple statistics messages. This allows preservation of order information.
285 </comment>
286 </elem>
287
288 <elem name="date" type="datetime" multiplicity="1">
289 <comment>
290 Date the statistics transaction occurred.
291 </comment>
292 </elem>
293
294 <elem name="statistics" multiplicity="1..*" type="StatisticMetric">
295 <comment>
296 Required one or more StatistinceMetric data. See StatisticMetric for more information.
297 </comment>
298 </elem>
299 </struct>
300
301 <!--StorageUpdate Msg-->
302 <struct name="StorageUpdate" type="Logging.UsageMsg" rttkey='"tpf://ilp/storageupdate"'>
303 <comment>
304 Usage message captures ILP data storage update information.
305 </comment>
306
307 <elem name="storageid" type="string" multiplicity="1">
308 <comment>
309 Storage identifier that is providing the storages update, this is typically defined as the consumer service provider of the storage update.
310 Might be the name of a company, internal service, or external service name.
311 </comment>
312 </elem>
313
314 <elem name="tid" type="UUID" multiplicity="1">
315 <comment>
316 Transaction identifier for this set of storage statistics. This ID allows linkage of multiple storage statistics.
317 </comment>
318 </elem>
319
320 <elem name="tidSequence" type="uint32" multiplicity="0..1">
321 <comment>
322 Optional sequence specifier for storage statistics within a specific transaction (tid). These are provided typically when one
323 transaction results in multiple statistics messages. This allows preservation of order information.
324 </comment>
325 </elem>
326
327 <elem name="startDate" type="datetime" multiplicity="1">
328 <comment>
329 Start date the updates were made. This is typically when the updates were calculated, or at very least, when they were submitted.
330 </comment>
331 </elem>
332
333 <elem name="endDate" type="datetime" multiplicity="1">
334 <comment>
335 End date the updates were made. This is typically when the updates were caluculated, or at very least, when they were submitted.
336 </comment>
337 </elem>
338
339 <elem name="bounds" multiplicity="1" type="BoundingBox">
340 <comment>
341 Bounding box containing the area encompassing all the reference points captured in this update.
342 </comment>
343 </elem>
344
345 <elem name="posAvg" multiplicity="1" type="PositionECEF">
346 <comment>
347 The average (mean) center of the all the reference locations within the specified Bounding Box. Note that this is not necessarily the geometric center of the bounding box.
348 </comment>
349 </elem>
350
351 <elem name="metrics" multiplicity="1..*" type="UpdateMetric">
352 <comment>
353 Required one or more UpdateMetric data. See UpdateMetric for more information.
354 </comment>
355 </elem>
356 </struct>
357
358 </namespace>
359 </namespace>
360 </specification>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!