-
Notifications
You must be signed in to change notification settings - Fork 2
/
ion_admin.json
319 lines (316 loc) · 13.3 KB
/
ion_admin.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
{
"Mdat": [{
"name": "name",
"type": "STR",
"value": "ion_admin",
"description": "The human-readable name of the ADM."
},
{
"name": "enum",
"type": "INT",
"value": 7
},
{
"name": "namespace",
"type": "STR",
"value": "DTN/ION/ionadmin",
"description": "The namespace of the ADM."
},
{
"name": "version",
"type": "STR",
"value": "v0.0",
"description": "The version of the ADM."
},
{
"name": "organization",
"type": "STR",
"value": "JHUAPL",
"description": "The name of the issuing organization of the ADM."
}
],
"Edd": [{
"name": "clock_error",
"type": "UINT",
"description": "This is how accurate the ION Agent's clock is described as number of seconds, an absolute value."
},
{
"name": "clock_sync",
"type": "UINT",
"description": "This is whether or not the the computer on which the local ION node is running has a synchronized clock."
},
{
"name": "congestion_alarm_control",
"type": "UINT",
"description": "This is whether or not the node has a control that will set off alarm if it will become congested at some future time."
},
{
"name": "congestion_end_time_forecasts",
"type": "UINT",
"description": "This is the time horizon beyond which we don't attempt to forecast congestion"
},
{
"name": "consumption_rate",
"type": "UINT",
"description": "This is the mean rate of continuous data delivery to local BP applications."
},
{
"name": "inbound_file_system_occupancy_limit",
"type": "UINT",
"description": "This is the maximum number of megabytes of storage space in ION's local file system that can be used for the storage of inbound zero-copy objects. The default heap limit is 1 Terabyte."
},
{
"name": "inbound_heap_occupancy_limit",
"type": "UINT",
"description": "This is the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of inbound zero-copy objects. The default heap limit is 20% of the SDR data space's total heap size."
},
{
"name": "number",
"type": "UINT",
"description": "This is a CBHE node number which uniquely identifies the node in the delay-tolerant network."
},
{
"name": "outbound_file_system_occupancy_limit",
"type": "UINT",
"description": "This is the maximum number of megabytes of storage space in ION's local file system that can be used for the storage of outbound zero-copy objects. The default heap limit is 1 Terabyte."
},
{
"name": "outbound_heap_occupancy_limit",
"type": "UINT",
"description": "This is the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of outbound zero-copy objects. The default heap limit is 20% of the SDR data space's total heap size."
},
{
"name": "production_rate",
"type": "UINT",
"description": "This is the rate of local data production."
},
{
"name": "ref_time",
"type": "TV",
"description": "This is the reference time that will be used for interpreting relative time values from now until the next revision of reference time."
},
{
"name": "time_delta",
"type": "UINT",
"description": "The time delta is used to compensate for error (drift) in clocks, particularly spacecraft clocks. The hardware clock on a spacecraft might gain or lose a few seconds every month, to the point at which its understanding of the current time - as reported out by the operating system - might differ significantly from the actual value of Unix Epoch time as reported by authoritative clocks on Earth. To compensate for this difference without correcting the clock itself (which can be difficult and dangerous), ION simply adds the time delta to the Epoch time reported by the operating system."
},
{
"name": "version",
"type": "STR",
"description": "This is the version of ION that is currently installed."
}
],
"Tblt": [{
"name": "contacts",
"columns": [{
"type": "TV",
"name": "start_time"
}, {
"type": "TV",
"name": "stop_time"
}, {
"type": "UINT",
"name": "source_node"
}, {
"type": "UINT",
"name": "dest_node"
}, {
"type": "UVAST",
"name": "xmit_data"
}, {
"type": "UVAST",
"name": "confidence"
}],
"description": "This table shows all scheduled periods of data transmission."
},
{
"name": "ranges",
"columns": [{
"type": "TV",
"name": "start"
}, {
"type": "TV",
"name": "stop"
}, {
"type": "UINT",
"name": "node"
}, {
"type": "UINT",
"name": "other_node"
}, {
"type": "UINT",
"name": "distance"
}],
"description": "This table shows all predicted periods of constant distance between nodes."
}
],
"Ctrl": [{
"name": "node_init",
"parmspec": [{
"type": "UINT",
"name": "node_nbr"
}, {
"type": "STR",
"name": "config_file"
}],
"description": "Until this control is executed, the local ION node does not exist and most ionadmin controls will fail. The control configures the local node to be identified by node_number, a CBHE node number which uniquely identifies the node in the delay-tolerant network. It also configures ION's data space (SDR) and shared working-memory region. For this purpose it uses a set of default settings if no argument follows node_number or if the argument following node_number is ''; otherwise it uses the configuration settings found in a configuration file. If configuration file name is provided, then the configuration file's name is implicitly 'hostname.ionconfig'; otherwise, ion_config_filename is taken to be the explicit configuration file name."
},
{
"name": "node_clock_error_set",
"parmspec": [{
"type": "UINT",
"name": "known_maximum_clock_error"
}],
"description": "This management control sets ION's understanding of the accuracy of the scheduled start and stop times of planned contacts, in seconds. The default value is 1."
},
{
"name": "node_clock_sync_set",
"parmspec": [{
"type": "BOOL",
"name": "new_state"
}],
"description": "This management control reports whether or not the computer on which the local ION node is running has a synchronized clock."
},
{
"name": "node_congestion_alarm_control_set",
"parmspec": [{
"type": "STR",
"name": "congestion_alarm_control"
}],
"description": "This management control establishes a control which will automatically be executed whenever ionadmin predicts that the node will become congested at some future time."
},
{
"name": "node_congestion_end_time_forecasts_set",
"parmspec": [{
"type": "UINT",
"name": "end_time_for_congestion_forcasts"
}],
"description": "This management control sets the end time for computed congestion forecasts. Setting congestion forecast horizon to zero sets the congestion forecast end time to infinite time in the future: if there is any predicted net growth in bundle storage space occupancy at all, following the end of the last scheduled contact, then eventual congestion will be predicted. The default value is zero, i.e., no end time."
},
{
"name": "node_consumption_rate_set",
"parmspec": [{
"type": "UINT",
"name": "planned_data_consumption_rate"
}],
"description": "This management control sets ION's expectation of the mean rate of continuous data delivery to local BP applications throughout the period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be zero. A value of -1, which is the default, indicates that the rate of local data consumption is unknown; in that case local data consumption is not considered in the computation of congestion forecasts."
},
{
"name": "node_contact_add",
"parmspec": [{
"type": "TV",
"name": "start"
}, {
"type": "TV",
"name": "stop"
}, {
"type": "UINT",
"name": "from_node_id"
}, {
"type": "UINT",
"name": "to_node_id"
}, {
"type": "UVAST",
"name": "data_rate"
}, {
"type": "UVAST",
"name": "prob"
}],
"description": "This control schedules a period of data transmission from source_node to dest_node. The period of transmission will begin at start_time and end at stop_time, and the rate of data transmission will be xmit_data_rate bytes/second. Our confidence in the contact defaults to 1.0, indicating that the contact is scheduled - not that non-occurrence of the contact is impossible, just that occurrence of the contact is planned and scheduled rather than merely imputed from past node behavior. In the latter case, confidence indicates our estimation of the likelihood of this potential contact."
},
{
"name": "node_contact_del",
"parmspec": [{
"type": "TV",
"name": "start"
}, {
"type": "UINT",
"name": "node_id"
}, {
"type": "STR",
"name": "dest"
}],
"description": "This control deletes the scheduled period of data transmission from source_node to dest_node starting at start_time. To delete all contacts between some pair of nodes, use '*' as start_time."
},
{
"name": "node_inbound_heap_occupancy_limit_set",
"parmspec": [{
"type": "UINT",
"name": "heap_occupancy_limit"
}, {
"type": "UINT",
"name": "file_system_occupancy_limit"
}],
"description": "This management control sets the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of inbound zero-copy objects. A value of -1 for either limit signifies 'leave unchanged'. The default heap limit is 30% of the SDR data space's total heap size."
},
{
"name": "node_outbound_heap_occupancy_limit_set",
"parmspec": [{
"type": "UINT",
"name": "heap_occupancy_limit"
}, {
"type": "UINT",
"name": "file_system_occupancy_limit"
}],
"description": "This management control sets the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of outbound zero-copy objects. A value of -1 for either limit signifies 'leave unchanged'. The default heap limit is 30% of the SDR data space's total heap size."
},
{
"name": "node_production_rate_set",
"parmspec": [{
"type": "UINT",
"name": "planned_data_production_rate"
}],
"description": "This management control sets ION's expectation of the mean rate of continuous data origination by local BP applications throughout the period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be zero. A value of -1, which is the default, indicates that the rate of local data production is unknown; in that case local data production is not considered in the computation of congestion forecasts."
},
{
"name": "node_range_add",
"parmspec": [{
"type": "TV",
"name": "start"
}, {
"type": "TV",
"name": "stop"
}, {
"type": "UINT",
"name": "node"
}, {
"type": "UINT",
"name": "other_node"
}, {
"type": "UINT",
"name": "distance"
}],
"description": "This control predicts a period of time during which the distance from node to other_node will be constant to within one light second. The period will begin at start_time and end at stop_time, and the distance between the nodes during that time will be distance light seconds."
},
{
"name": "node_range_del",
"parmspec": [{
"type": "TV",
"name": "start"
}, {
"type": "UINT",
"name": "node"
}, {
"type": "UINT",
"name": "other_node"
}],
"description": "This control deletes the predicted period of constant distance between node and other_node starting at start_time. To delete all ranges between some pair of nodes, use '*' as start_time."
},
{
"name": "node_ref_time_set",
"parmspec": [{
"type": "TV",
"name": "time"
}],
"description": "This is used to set the reference time that will be used for interpreting relative time values from now until the next revision of reference time. Note that the new reference time can be a relative time, i.e., an offset beyond the current reference time."
},
{
"name": "node_time_delta_set",
"parmspec": [{
"type": "UINT",
"name": "local_time_sec_after_epoch"
}],
"description": "This management control sets ION's understanding of the current difference between correct time and the Unix Epoch time values reported by the clock for the local ION node's computer. This delta is automatically applied to locally obtained time values whenever ION needs to know the current time."
}
]
}