...
OOF impacts are described in OOF_impacts_v1.0.pptx.
...
Assumptions
- The capability set in the template will not contain range of values
NSI Selection
New Candidate schema to represent NSSI (RAN,Core,Transport)
JSON Viewer |
---|
|
{
"candidate_id": "1ac71fb8-ad43-4e16-9459-c3f372b8236d",
"candidate_type": "nssi",
"inventory_type": "nssi",
"inventory_provider": "aai",
"domain": "cn",
"latency": "5",
"max-number-of-UEs": 0,
"coverage-area-TA-list": "[{\"province\":\"??\",\"city\":\"???\",\"county\":\"???\",\"street\":\"?????\"}]",
"ue-mobility-level": "stationary",
"resource-sharing-level": "0",
"exp-data-rate-UL": 100,
"exp-data-rate-DL": 100,
"area-traffic-cap-UL": 100,
"area-traffic-cap-DL": 100,
"activity-factor": 0,
"e2e-latency": 0,
"jitter": 0,
"survival-time": 0,
"exp-data-rate": 0,
"payload-size": 0,
"traffic-density": 0,
"conn-density": 0,
"reliability": "99.999",
"service-area-dimension": "",
"cs-availability":""
} |
SO - OOF INTERACTION
JSON Viewer |
---|
|
{
"serviceProfile":{
"latency": 2,
"security": "High",
"reliability": 99.9999,
"trafficDensity": 1,
"connDensity": 100000,
"expDataRate": 50,
"jitter": 1,
"survivalTime": 0
},
"requestInfo":{
"transactionId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"callbackUrl": "http://0.0.0.0:9000/osdfCallback/",
"sourceId": "SO",
"timeout":5
},
"NSTInfo":[
{
"modelInvariantId":"fda3c1e8-7653-4acd-80ef-f5755c1d3859",
"modelVersionId":"a6906768-1cae-4e78-acd1-d753ac61f3e8",
"modelName":"URLLC_1"
}
]
} |
[unit : (latency - ms) ; (expDataRate - Mbps) ; (survivalTime - ms) ; (jitter - micro sec) ; (connDensity - /km2) ; (trafficDensity - Tbps/km2)]
QUERY POLICY:
JSON Viewer |
---|
|
{
"service": "queryPolicy",
"policyName": "OSDF_FRANKFURT.QueryPolicy_vNS",
"description": "Query policy for network slicing",
"templateVersion": "OpenSource.version.1",
"version": "OpenSource.version.1",
"priority": "3",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
"queryProperties": [
{"attribute":"latency", "attribute_location": "latency"},
{"attribute":"reliability", "attribute_location": "reliability"}
],
"policyScope": [
"URLLC_1"
],
"policyType": "request_param_query",
"identity": "NS_Query_Policy",
"resources": [
"URLLC_1"
]
}
} |
ATTRIBUTE POLICY:
This attribute policy is specifying the operator of an attribute in a service profile
JSON Viewer |
---|
|
{
"service": "attributePolicy",
"policyName": "OSDF_FRANKFURT.AttributePolicy_vNS_1",
"description": "Attribute Policy for Network Slicing (NS)",
"templateVersion": "OpenSource.version.1",
"version": "OpenSource.version.1",
"priority": "1",
"riskType": "test",
"riskLevel": "3",
"guard": "False",
"content": {
"identity": "urllc_attribute",
"policyScope": [
"URLLC_1"
],
"policyType": "attribute",
"resources": [
"URLLC_1"
],
"attributeProperties": {
"serviceProfile": {
"latency": {"operator":"lte", "thresholdValue":{"get_param": "latency"}},
"reliability": {"operator":"gte", "thresholdValue":{"get_param": "reliability"}}
}
}
}
} |
This attribute policy is for specifying the capabilities of a subnet template
JSON Viewer |
---|
|
{
"service": "attributePolicy",
"policyName": "OSDF_FRANKFURT.AttributePolicy_vNS_1",
"description": "Attribute Policy for Network Slicing (NS)",
"templateVersion": "OpenSource.version.1",
"version": "OpenSource.version.1",
"priority": "1",
"riskType": "test",
"riskLevel": "3",
"guard": "False",
"content": {
"identity": "urllc_attribute",
"policyScope": [
"URLLC_1","NSST-C2"
],
"policyType": "attribute",
"resources": [
"NSST-C2"
],
"attributeProperties": {
"latency": {"operator":"lte", "thresholdValue":"10"},
"reliability": {"operator":"gte", "thresholdValue":"99.999"}
}
}
} |
VNF POLICY:
(Has to be updated for all three demands)
JSON Viewer |
---|
|
{
"service":"vnfPolicy",
"policyName":"OSDF_FRANKFURT.vnfPolicy_URLLC",
"description":"vnfPolicy",
"templateVersion":"OpenSource.version.1",
"version":"test1",
"priority":"6",
"riskType":"test",
"riskLevel":"3",
"guard":"False",
"content":{
"identity":"urllc_prop",
"policyScope":[
"NSST-C2",
"URLLC_1"
],
"policyType":"vnfPolicy",
"resources":[
"NSST-C2"
],
"applicableResources":"any",
"vnfProperties":[
{
"inventoryProvider":"aai",
"inventoryType":"subnet",
"customerId":"5G-customer"
},
{
"inventoryProvider":"dummy",
"inventoryType":"subnet",
"latency":{
"operator":"lte",
"thresholdValue":"10"
},
"reliability":{
"operator":"gte",
"thresholdValue":"99.999"
}
}
]
}
} |
OPTIMIZATION POLICY
...
- Subnet template details will be loaded as Subscriber policy
- NSI Name will be unique in AAI
- Slice profile in NSSI is chosen based on latency (Conductor)
OSDF - HAS:
JSON Viewer |
---|
|
{
"name": "urllc_sample",
"files": {},
"limit": 10,
"num_solution": 5,
"timeout": 1200,
"template": {
"homing_template_version": "2018-02-01",
"demands": {
"URLLC": [{
"inventory_provider": "aai",
"inventory_type": "service",
"region": "RegionOne",
"attributes": {
"orchestration-status": "ACTIVE",
"global-customer-id": "5G-customer",
"modelInvariantId":"fda3c1e8-7653-4acd-80ef-f5755c1d3859",
"modelVersionId":"a6906768-1cae-4e78-acd1-d753ac61f3e8"
}
}]
},
"constraints": {
"service_profile_attr": {
"type": "attribute",
"demands": ["URLLC"],
"properties": {
"evaluate":{
"latency": {"lte" : "10 ms"},
"reliability": {"gte" : 99.999}
}
}
}
}
}
}
|
Illustrations
1. Call from SO to OOF to Get suitable NST
...
2. Call from SO to OOF to get suitable NSI
1. Call from SO to OOF to Get suitable NST
Inputs: Service Profile parameters, NST id
...
Let us assume that the NSI inventory is as follows:
NSI Id | NST Id | NSSI RAN Id | NSSI Core Id | NSSI Transport Id |
---|
NSI-1 | NST_URLLC1 | NSSI-R-1 | NSSI-C-2 | NSSI-T-1 |
NSI-2 | NST_ |
URLLC1121NSI-4NS10Solution 1
----------
NSI-10 which has URLLC1_NST
NSI-null with NSSI-R-1, (Core-slice profile), NSSI-T-1
4 | NST_URLLC2 | NSSI-R-1 | NSSI-C-1 | NSSI-T-1 |
... | ... | ... | ... | ... |
NSI-10 | NST_URLLC3 | NSSI-R-5 | NSSI-C2 | NSSI-T-4 |
Say, HAS returns the foll. solutions:
Solution 1 = (Solution 2
----------
NSSI-R-1, NSSI-C-newC2, NSSI-T-2 (HAS to OSDF) => New NSI (OOF to SO) with slice profile
T1)
Solution 2 = (NSSI-R-1, NSSI-C2(Core-slice profile), NSSI-T-1 (HAS to OSDF) => Re-use NSI-1 (OOF to SO)3) (assuming NSSI-T-3 has NSST_URLLC_TRAN2 as its template).
OSDF then does the following:
NSSI-R1 is part of NSI-1,NSI-4
NSSI-C2 is part of NSI-1, NSI-10
NSSI-T1 is part of NSI-4, NSI-1
There is a common "NSI" which is "NSI-1". So NSI-
...
1 can be reused. It fills the shared NSI solutions part of response to SO with NSI-1.
- For solution 2, NSSI-R-1, NSSI-C-new, NSSI-T-3 => It fills New NSI solutions part of the response to SO with NSSI ids and slice profile(s).