Base Network Resource Representation¶
Network Resource is the abstract base for all other UNIS resources (except Topology and Metadata). UNIS does not accept directly a network resource, but it does handle all the resources derived from network resource.
Identifiers in UNIS works slightly different than that in perfSONAR and NML community. The id field has been long used as URN to globally identify a network resource. In the UNIS model the id field is locally unique, while the full network resource URL is globally unique. For example there can exist a two network resources with id=id1 if the two resources are from different UNIS instances http://example1.com/nodes/id1 and http://example2.com/nodes/id1. Any UNIS network resource can have URN as an attribute and it’s recommended to use either perfSONAR or NML URN naming schemes.
NOTE: In the perfSONAR and NML community network resources are called network objects. However, UNIS has been designed with native REST API in mind [REST].
JSON Schema¶
See http://unis.crest.iu.edu/schema/20120709/networkresource.
Attributes¶
Name | Value | Description |
---|---|---|
$schema | URI | The schema that represents the current object. |
id | sting | Network resource’s locally unique identifier. |
selfRef | URI | self URL reference to the network resource. |
ts | timestamp | time stamp of the last change on the network resource in nano-seconds. |
urn | URN | URN name of the network resource. UNIS doesn’t mandate any specific URN schema, but it’s recommended to use either perfSONAR or NML URN naming schemes. |
name | string | the network resource name. |
description | string | text description of the network resource. |
location | object | physical location of the network resource. |
lifetimes | list | list of lifetimes of the network resource. Each lifetime is an object with two attributes start and end |
status | string | The status of network resource. |
properties | object | additional custom properties for network resource. |
relations | object | relations for this network resource to other network resources. |
Example¶
The following is a simple network resource example:
{
"$schema": "http://unis.crest.iu.edu/schema/20120709/networkresource#",
"id": "resource1",
"selfRef": "http://example.com/resource1",
"ts": 1336775637000,
"name": "example1",
"urn": "urn:ogf:network:example1",
"description": "This is a sample network resource",
"lifetimes": [
{
"start": "2012-05-10T22:37:02+00:00",
"end": "2012-05-11T22:37:02+00:00"
}
],
"location": {
"institution": "Indiana University"
},
"properties": {
"custom_prop1": "value1"
},
"relations": {
"custom_relation": [
{
"href": "http://example.com/resource2",
"rel": "full"
}
]
}
}
Footnotes
[REST] | http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_2_1 |